Kafka入门初探+伪集群部署
Kafka是目前非常流行的消息队列中间件,常用于做普通的消息队列、网站的活性数据分析(PV、流量、点击量等)、日志的搜集(对接大数据存储引擎做离线分析)。 全部内容来自网络,可信度有待考证!如有问题,还请及时指正。 概念介绍 在Kafka中消息队列分为三种角色: producer ,即生产者,负责产生日志数据。 broker ,存储节点,负责按照 topic 中的 partition 分区,均匀分布式的存储分区。 consumer ,即消费者,负责读取使用 broker 中的分区。 producer Kafka系统中的生产者,用于产生数据并发送给broker进行存储。由于需要与broker中的分区保持socket连接,因此需要在zk中维护生产者与分区broker的对应关系。同一个topic下的数据,会以某种负载均衡的方式发送到不同的分区中。 broker Broker可以当做Kafka中的存储节点,数据按照topic组织,按照某种负载均衡方式分配到不同的分区中。一个Topic由多个分区组成,每个分区可以设置备份数量。分区由一个leader+多个followers组成,生产者直接与leader进行沟通,leader接收消息后,其他的followers会同步这个消息。所有的follwers同步消息后,该消息才会成为可消费的状态。 Broker中Topic与分区,分区与生产者