
项目预研
文章平均质量分 92
super_man_0820
无无
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
KafkaConsumer高阶Api消费Util
使用Kafka高阶Api,基于通用业务场景封装基于Kafka0.8版本的消费工具类。项目背景:运行任务的监控数据通过kafka上报,应用中需要消费Topic中的数据。功能介绍:工具类有如下特性ConsumerGroup提供通用的Topic消费服务以Builder模式配置ZK、Topic、GroupId、消费线程数、线程池大小支持复用现有线程池,将消费任务(业务逻辑)放入现有线程池...原创 2019-06-16 15:03:26 · 1146 阅读 · 0 评论 -
Curator 三种 Watcher 监听实现
项目背景:实时 Flink任务中,需要实现不停实时任务,清除关联维表的本地缓存。方案:方案采用 Zookeeper 的配置中心的功能,即当需要清除正在运行 Flink App 的维表本地缓存时,通过web端配置 Zookeeper 指定节点上的配置值,Flink App 上 Watch 指定节点上的值,一旦发生变化,Flink 即清除本地维表数据缓存。Zookeeper特性背景Curat...原创 2019-07-05 19:52:45 · 3080 阅读 · 0 评论 -
Zookeeper Leader选举实现
项目背景:web端monitor模块,负责处理实时应用(app)上传的metric信息,但是多台jboss不能重复处理,因此利用Zookeeper leader选举功能,从多台jboss中选出一个leader,负责分发各app给jboss进行metric统计及告警相关说明:* Curator 有两种leader选举的recipe, 分别是 LeaderSelector 和 LeaderLat...原创 2019-07-05 20:05:03 · 351 阅读 · 0 评论 -
Curator实现全局、非阻塞可重入锁(InterProcessMutex)
项目背景:web进行sql编辑的时候,只能有一个客户端进行编辑,不允许多个客户端同时修改。相关说明:* 浏览器端会为每个sql编辑客户端生成唯一标识:时间戳+随机数+用户工号* 当用户尝试编辑时,需要获取该任务的特定ZK节点下的锁(排它锁)* 采用 Curator 的 InterProcessMutex 实现全局可重入锁demo说明:* InterProcessMutexE : ...原创 2019-07-10 21:25:06 · 1211 阅读 · 0 评论 -
CodeGen实现代码生成器
项目背景:在线开发平台web端需要对 输入的Sql进行校验,使提交的Sql务必可在Flink平台执行,尤其针对 自定义UDF 需要提前校验。方案:Flink自身支持对原生系统函数进行校验,但是 自定义UDF 由用户业务决定,无法全量支持,因此 打算采用 CodeGen 编译 自定义UDF 后,进行校验。(Flink 内部,在 由 Sql -> DataStream 时,也使用了 C...原创 2019-07-15 21:44:58 · 10161 阅读 · 0 评论 -
KafkaConsumer低阶Api实现数据抽样
Kafka Demo Version : 0.8.2.2Kafka消费工具类(低阶API)项目背景:数据质量平台需对Topic中的数据进行抽样,为避免申请GroupId流程,同时减轻Zk压力,使用Low-Level Kafka Client进行消费功能介绍:* 本例作为项目预研demo* 指定Topic和Partition(partition=0),查询此分区的最小/最大...原创 2019-07-12 15:18:34 · 1066 阅读 · 1 评论 -
基于Java AIO 的数传服务器项目预研demo
项目背景:数传服务器项目,需对 与外界交互的 报文进行加/解密,提高数传服务器的报文处理能力;因为数传服务器需随 便携设备 一起工作,所以并不能简单的依靠增加设备来提高的报文处理能力,因此项目改进点只能是提高单个设备的报文处理能力目前数传服务器的 IO 已通过 NIO 实现,现自研以 AIO 的方式实现 Demo相关说明:数传服务器 属于 服务端功能,对接收到的报文进行 加/解密 后,再...原创 2019-08-05 19:39:36 · 431 阅读 · 0 评论 -
分布式锁的预研
一般实现分布式锁都有哪些方式?redis分布式锁zk分布式锁数据库乐观锁为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:互斥性在任意时刻,只有一个客户端能持有锁不会发生死锁即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。具有容错性只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。解铃还须系铃人加...原创 2019-08-22 15:53:04 · 158 阅读 · 0 评论