kafka设计目标
- 以时间复杂度为O(1)的方式提供想消息持久化能力,及时达到TB级别的数据也能保证常数时间访问;
- 高吞吐率(每秒100k条消息)
- 支持分布式访问消息,同时保证每个分区内的消息顺序传输
- 同时支持离线消息和实时消息
使用消息队列的目的
- 解耦、冗余、扩展性、灵活性&峰值能力、可恢复性、送达保证、顺序保证、缓冲、异步通信。
kafka主要概念
- broker(Kafka支持水平扩展,一般broker数量越多,集群吞吐率越高)
- topic
- partition(每个topic包含一个或多个partition,创建topic时指定partition数量)
- producer
- consumer(每个consumer属于一个特定的consumer group,不指定则属于默认group)
[未完待续…]