Kafka的稳定性如何保证?
- 内容介绍
- 文章标签
- 相关推荐
本文共计11923个文字,预计阅读时间需要48分钟。
一、事件简介
1.事件简介
1.1 事件场景
producer产生多条消息,组成一个事件。这些消息需要同时被consumer处理,可能同时可处理或不可同时处理。producer可能向多个topic、多个partition发送消息,这些消息也需要能够同时分发。 一、事务 1. 事务简介 1.1 事务场景- producer发的多条消息组成⼀个事务这些消息需要对consumer同时可⻅或者同时不可⻅
- producer可能会给多个topic,多个partition发消息,这些消息也需要能放在⼀个事务⾥⾯,这就形成了⼀个典型的分布式事务
- kafka的应⽤场景经常是应⽤先消费⼀个topic,然后做处理再发到另⼀个topic,这个consume-transform-produce过程需要放到⼀个事务⾥⾯,⽐如在消息处理或者发送的过程中如果失败了,消费偏移量也不能提交
- producer或者producer所在的应⽤可能会挂掉,新的producer启动以后需要知道怎么处理之前未完成的事务
- 因为producer发送消息可能是分布式事务,所以引⼊了常⽤的2PC,所以有事务协调者(Transaction Coordinator)。Transaction Coordinator和之前为了解决脑裂和惊群问题引⼊的Group Coordinator在选举和failover上⾯类似
- 事务管理中事务⽇志是必不可少的,kafka使⽤⼀个内部topic来保存事务⽇志,这个设计和之前使⽤内部topic保存偏移量的设计保持⼀致。
本文共计11923个文字,预计阅读时间需要48分钟。
一、事件简介
1.事件简介
1.1 事件场景
producer产生多条消息,组成一个事件。这些消息需要同时被consumer处理,可能同时可处理或不可同时处理。producer可能向多个topic、多个partition发送消息,这些消息也需要能够同时分发。 一、事务 1. 事务简介 1.1 事务场景- producer发的多条消息组成⼀个事务这些消息需要对consumer同时可⻅或者同时不可⻅
- producer可能会给多个topic,多个partition发消息,这些消息也需要能放在⼀个事务⾥⾯,这就形成了⼀个典型的分布式事务
- kafka的应⽤场景经常是应⽤先消费⼀个topic,然后做处理再发到另⼀个topic,这个consume-transform-produce过程需要放到⼀个事务⾥⾯,⽐如在消息处理或者发送的过程中如果失败了,消费偏移量也不能提交
- producer或者producer所在的应⽤可能会挂掉,新的producer启动以后需要知道怎么处理之前未完成的事务
- 因为producer发送消息可能是分布式事务,所以引⼊了常⽤的2PC,所以有事务协调者(Transaction Coordinator)。Transaction Coordinator和之前为了解决脑裂和惊群问题引⼊的Group Coordinator在选举和failover上⾯类似
- 事务管理中事务⽇志是必不可少的,kafka使⽤⼀个内部topic来保存事务⽇志,这个设计和之前使⽤内部topic保存偏移量的设计保持⼀致。

