Kafka、Redis和其它消息组件比较
Kafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲、异步通信、汇集日志、系统解耦等方面。相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的读写性能。 针对Kafka性能方面进行简单分析,相关数据请参考: https://segmentfault.com/a/1190000003985468 ,下面介绍一下Kafka的架构和涉及到的名词: Topic:用于划分Message的逻辑概念,一个Topic可以分布在多个Broker上。 Partition:是Kafka中横向扩展和一切并行化的基础,每个Topic都至少被切分为1个Partition。 Offset:消息在Partition中的编号,编号顺序不跨Partition。 Consumer:用于从Broker中取出/消费Message。 Producer:用于往Broker中发送/生产Message。 Replication:Kafka支持以Partition为单位对Message进行冗余备份,每个Partition都可以配置至少1个Replication(当仅1个Replication时即仅该Partition本身)。 Leader:每个Replication集合中的Partition都会选出一个唯一的Leader,所有的读写请求都由Leader处理