kafka监控 ChaperoneServiceWorker
来源:互联网 发布:拆分盘源码 编辑:程序博客网 时间:2024/06/05 01:56
ChaperoneServiceWorker
里面又将ChaperoneClient
用scala
实现了一遍。增加了将数据存到kafka
和hsqldb
功能。
ChaperoneServiceWorker
项目入口是MirrorMakerWorker
的main
方法。main
方法会创建用户设置的个数的MessageAudit
实例,并调用这些实例的start
方法,start
方法内会不断发送TriggerMsg
,这些message
最后并不会被发送到Topic
内,只是用来触发当前时间是否应该是需要发送的时间点。
main
方法内部还创建了一个MirrorMakerThread
线程,该thread
内会建立一个kafkaStream
,不断的从kafka
拉取数据。并在Disruptor
的帮助下,将这个数据发送给MessageAuditor
的auditMessage
方法处理。MessageAuditor
的auditMessage
方法和ChaperoneClinet
里MessageTracker
的track
方法类似,只是在这里会调用verificationStore.store
。
verificationStore.store
会把数据给真正用来处理的doStore
方法,该方法如下
private def doStore(topicName: String, offsets: util.HashMap[Int, Long], buckets: util.HashMap[Double, TimeBucketMetadata]) { //buckets [Double, TimeBucketMetadata] key表示bucket beginTimestamp val auditMsgs = convertToLocalAuditMsg(topicName, buckets) debug("Converted into LocalAuditMsg=" + auditMsgs) if (requireExactlyOnce) { zkOffsetStoreTimer.time { zkOffsetStore.store(topicName, offsets, auditMsgs) } auditMsgStoreTimer.time { auditMsgStore.store(topicName, auditMsgs) } } auditMsgReporter.reportAuditMsg(async = true, auditMsgs, this) }
这个方法里会将数据保存到kafka
和hsqldb
,并将数据发送到审计的Topic
。最后会调用AuditMsgStore
的markAuditMsg
方法把hsqldb
内发送的消息标记。
阅读全文
0 0
- kafka监控 ChaperoneServiceWorker
- kafka监控
- kafka监控
- kafka监控Kafka Offset Monitor
- Kafka 消息监控 - Kafka Eagle
- kafka 监控之Mx4jLoader
- Kafka学习之监控
- Kafka监控工具KafkaOffsetMonitor
- 使用JMX监控Kafka
- Kafka 监控调研
- kafka zookeeper 监控
- ganglia监控kafka
- kafka监控工具-kafka_manager
- kafka管理监控插件
- kafka监控-KafkaOffsetMonitor
- Kafka消息系统监控
- Kafka监控框架介绍
- Kafka 消息监控
- 分布式锁2 Java非常用技术方案探讨之ZooKeeper
- 最大和子序列
- pip安装python库报错:Pillow-4.2.1-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform.
- 青岛网络预选赛 2017-9-17
- 2017 ACM-ICPC 亚洲区(青岛赛区)网络赛 HDU 6208 1003 The Dominator of Strings(AC自动机)
- kafka监控 ChaperoneServiceWorker
- Lambda表达式
- ES6学习笔记
- 设计模式-----状态模式
- 搜索引擎solr系列---安装步骤
- 4. RCC外设的学习和理解
- 通知栏notification的一些使用代码
- 算法——大数加法
- BufferedReader源码分析与使用