


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、消息队列之KafkaKafka是 LinkedIn公司的一款开源MQ 。在没有Kafka之前,大部分的业务与业务之间都是通过端对端的连接,错综复杂。试想用一种极为简单的Pipeline将这些数据进行一次Aggregate 。将上面产生数据的作为生产者,下面对数据处理的作为消费者,就自然而然的形成了消费者和生产者,中间的Pipeline就是一个消息队列。Kafka在数据库的Replicate场景在此构架上面,主要需要保证如下几个方面:message integrity:no message loss in order deliveryexactlyoncemessage schema messa
2、ge schema registry messageseri/desrperfomance:high throughputlow latencyhandlelarge messagemessage integrityguaranteesproducer :bathing the messagesend messageasync在 Sender Thread中,从Record Accumulator里面的Message Buffer Poll Message发送到Broker为了Fail Over ,需要将数据进行Replicate ,将所有在ISR中的Broker都回应Ack ,再返回ISR
3、在 Producer 中,将 Ack 设置为 0,那么不行的 Replicate 就可以返回,这点类似于 UDP 协议。如果设置为 1,即使将Leader Commit,也可以返回Ack 。但是如果 Leader 在没有 Replicate 之前宕机,那么该条消息就会丢失,最后设置为 -1,消息是不会丢失, 但是对于之前的延迟是加强。为了保证In Order Delivery需要将。因为当消息为0,发送到Broker过后,由于种种原因Broker没有接受成功,就需要Retry ,然而如果此时此刻消息1 已经成功Send到 Broker ,就导致原本应该先看Message0结果变成了Messag
4、e1 。以及还需要在Producer的 Callback之中将Timeout设为0,将其close掉。为了数据存在多份,需要将min.isr = 2 。将ISR 至少保证两个Broker ,在这两个Broker里面保存最新的成功提交消息。Exactly Once Delivery 在 Consumer端进行处理,因为它是一个 Distribution Data System 。同时也会有一个Election ,所以才会有一个全局递增的Epoch 。以及根据业务的一个 Transition Sequence Number,所以这两个都是全局唯一的,当Consumer Poll对比自己最后一条消息
5、的ETS ,小的数据就直接扔掉。Performance Ack All里面会Increase Latency由于需要依赖外部存储,所以不是那么方便。最后在Producer和 Consumer做了Split和 Assembly 。在Consumer进行Assembly过程中要保证In OrderDelivery,需要对Message进行Buffer,在进行存储的过程中可以分为两种,一种去Offset的头,一种去Offset的尾部。每个人需对消息格式有一个固定的标准,而不是每人自定消息格式。如果这样的话,发出去的消息其他人没办法使用。我们要求所有经过Kafka的消息都必须用固定的Format ,加入一个集中式的Schema管理部件,每次发送消息的时候,它做的过程就是把我们的消息通过Schema序列化成Var Bytes ,我们不会把Schema随消息一起发出去,它做的事情是把Schema注册到Schema Registry拿到一个Schema ID ,把这个ID 随着消息一起发送到Kafka ,当Consumer拿到这个消息的时候,会先去看Schema ID ,然后到Schema Registry把 Schema拿回来,就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西安邮电大学《美术鉴赏与批评》2023-2024学年第二学期期末试卷
- 浙江理工大学《木材工业自动化》2023-2024学年第二学期期末试卷
- 南昌大学共青学院《免疫学与病原生物学》2023-2024学年第二学期期末试卷
- 抚顺师范高等专科学校《品牌形象专项设计一》2023-2024学年第二学期期末试卷
- 证券从业资格证券投资顾问胜任能力考试证券投资顾问业务真题1
- 山东劳动职业技术学院《智能车辆环境感知技术》2023-2024学年第二学期期末试卷
- 2025辽宁省安全员B证(项目经理)考试题库
- 湖南冶金职业技术学院《企业生产与技术管理》2023-2024学年第二学期期末试卷
- 2025年陕西省建筑安全员-B证(项目经理)考试题库
- 湖南电气职业技术学院《面向数据科学的语言》2023-2024学年第二学期期末试卷
- 手术部位感染预防控制措施
- 社会学概论课件
- 中医类诊所规章制度与岗位职责
- 初中语文 中考总复习-文言文断句训练120题(含答案解析)
- 影视鉴赏-动画电影课件
- 美学原理全套教学课件
- 精装修施工图深化内容及要求
- 《克雷洛夫寓言》阅读指导课件
- 《无人机载荷与行业应用》 课件全套 第1-6章 无人机任务载荷系统概述- 未来展望与挑战
- 《室内照明设计》(熊杰)794-5 教案 第7节 绿色照明、节能照明与应急照明
- 脑卒中后认知障碍的护理课件
评论
0/150
提交评论