Kafka是目前主流的流处理平台,同时作为消息队列家族的一员,其高吞吐性作为很多场景下的主流选择。同时作为流处理平台,在大数据开发中,作为黏合剂串联各个系统。
主要有三种功能:
1:It lets you publish and subscribe to streams of records.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因
2:It lets you store streams of records in a fault-tolerant way.以容错的方式记录消息流,kafka以文件的方式来存储消息流
3:It lets you process streams of records as they occur.可以再消息发布的时候进行处理
卡夫卡基本结构:
卡夫卡消息结构:
kafka特点:
分布式:多分区,多副本,多订阅者,基于Zookeeper调度
高性能:高吞吐量,低迟延,高并发,时间复杂度为O(1)
持久性与扩展性:数据可持久化,容错性,支持在线水平扩展,消息自动平衡
kafka 应用场景:
消息队列;
行为跟踪;
元信息监控;
日志收集;
流处理;
事件源;
持久性日志