Kafka“扮演”三大角色
·消息系统
Kafka 具备系统解耦、冗余存储、流量 峰、缓冲、异步通信、扩展性、 可恢复性等功能。
与此同时, Kafka供了大多数消息系统难以实现的消息顺序性保障 及 回溯消费的功能
·存储系统
得益于 Kafka 的消息持久化功能和多副本机制,Kafka 可以作为长期的数据存储系统来使用,
只需要把对应的数据保留策略设置为“永久”或启用主题的日志压缩功能即可
·流式处理平台
Kafka 不仅为每个流行的流式处理框架提供了可靠的数据来源,
还供了一个完整的流式处理类库,比如窗口、连接、变换和聚合等各类操
1.1 基本概念
1.体系架构
若干Producer 若干broker 若干Consumer 一个zookeeper集群
ZooKeeper:Kafka用来负责集群元数据的管理、控制器的选举等操作的。
Producer: 生产者,负责创建消息,将消息发送(push)到 Broker,
Broker:服务代理节点,Broker可以简单看做一个独立的kafka节点或者Kafka实例 负责将收到的消息存储到磁盘中
Consumer:消费者, 负责从 Broker 订阅并拉取消费(pull)消息。