Kafka简介:
Kafka是一个高吞吐,分布式,基于发布订阅的消息系统,
利用Kafka技术可在廉价PC Server上搭建起大规模消息系统。
应用场景:Kafka和其他组件比较,具有消息持久化,高吞吐,实时等特性,适用于离线和
实时的消息消费,如网站活性跟踪,聚和统计系统运营数据(监控数据),
日志收集等大量数据的数据手机场景。
优点:
高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒;
可扩展性:kafka集群支持热扩展;
持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失;
容错性:允许集群中节点故障(若副本数量为n,则允许n-1个节点故障);
高并发:支持数千个客户端同时读写
缺点:消息乱序(不能保证全局有序)、不支持事务(可能会丢消息或有重复消息)、
复杂性(部署和维护成本更高)
Kafka拓扑结构图:
1>一个典型的Kafka集群中包含若干Producer(可以是web前端产生的page View,或者是服务器日志,系统CPU,Memory等),
若干Broker(Kafka支持水平扩展,一般broken数量较多,集群吞吐率越高),若干Consumer,以及一个Zookeeper集群。
Kafka通过