A topic is a category or feed name to which messages are published.

每个Partition都是一个排序的和不可变的消息队列,新消息都会append到结尾,每个message都会分配一个sequential id, 叫做offset,作为message的唯一的id


注意的是Kafka的Cluster会保存在某个配置期间内(log retention)所有的message,不管它有没有被consume。超过配置期间的消息会被删除。Kafka的性能是相对稳定,不会随着size增长而增长。


每个Consumer需要自己维护自己consume的消息的offset,通过这种方式来保证读取速度而不用去考虑多个消息consumer相互之间的影响。并且,读取顺序也是每个consumer自己控制。


Consumer这种设计的好处是实现复杂度低,consumer开销小,它的添加或者删除对cluster impact比较小


Partition的设计的优点: 首先是能够允许log存储在多个节点上满足量的需求,其次它满足了并发处理的需求

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐