博客文章

共 43 篇。可以按时间逐篇阅读,也可以按分类浏览。

flink 类加载剖析

mainClass是 ChildFirstClassLoader加载的,因此java.sql.DriverManager.getConnection也是ChildFirstClassLoader加载的。

flinkJVM

spring cloud bus

微服务一般都采用集群方式部署,而且在高并发下经常需要对服务进行扩容、缩容、上线、下线的操作。比如我们需要更新配置,又或者需要同时失效所有服务器上的某个缓存,需要向所有相关的服务器发送命令…

spring cloud微服务

企业级无侵入式DNS方案

首先,应用ServiceA通过DNS查询获取到ServiceB的可用IP列表 2. DNS-F会拦截到ServiceA的查询请求,判断自己是否该查询的答案,如果有(服务已在VIPServer中注册)则直接返回IP列表;…

网络DNS

spring statemachine

在 ReactiveStateMachineExecutor 类中,triggerSink 是一个 Sinks.Many 类型的对象,用于管理状态机触发器的事件流。…

spring状态机

关于数据湖、数据仓库的想法

数据湖的出现,主要是为了去满足企业对原始数据的存储、管理和再加工的需求。首先要有一个低成本的存储,用于存储结构化、半结构化,甚至非结构化的数据;另外,有一套包括数据处理、数据管理以及数据治理在内的一体化解决方案。

数据湖数据仓库

利用Grafana监控influxdb表中数据有效性

把时序数据(如车辆指标)写入influxdb之后,我们想知道指标值是否异常(如累计里程 大于 1 亿)、新增数据量是否合理(如半个小时表中没有新增数据,大概率服务故障了)

grafanainfluxdb

postgresql存储时序、轨迹数据

pg分区功能、最好每个设备数据存在一个分区 - pg array类型、或者中间表,来解决行数太多的问题。 - 表太大时,btree会有性能瓶颈。块级索引就适合这个场景 - 每天一个分区,每个分区有自己的索引文件。

postgresql时序数据库

java validation

spring boot项目中,使用hibernate validator作为java bean validation标准的一个实现。

javaspring

Kafka日志压实算法

也就是说,有过期删除和压实两种策略。可以为每一个topic单独设置清理策略,默认是过期删除。

kafka存储