Kafka是一种分布式的,基于发布/订阅的消息系统。
主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,并保证即使对TB级以上数据也能保证常数时间的访问功能高吞吐率。
即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输支持KafkaServer间的消息分区,及分布式消息消费,同时保证每个partition内的消息顺序传输同时支持离线数据处理和实时数据处理为什么要用MessageQueue在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。
消息队列在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口。
这允许你独立的扩展或修改两边的处理
1