1.kafka简单介绍
kafka是linkedin使用Scala编写具有高水平扩展(只要增加服务器数量,就能线性扩充系统性能。)和高吞吐量(单位时间内处理的请求数量)的分布式消息系统
kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接收者称为Consumer,此外KafKa集群有多个KafKa实例组成,每个实例(Server)称为broker。
无论是Kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性,为集群保存一些meta信息
2.KafKa主要功能
ApacheKafka®是一个分布式流媒体平台
流媒体平台有三个关键功能
- 记录发生时处理流。
- 以容错的持久方式存储记录流。
- 发布和订阅记录流,类似于消息队列或企业消息传递系统。
3.应用场景
- 构建可在系统或引用程序之间可靠获取数据的实时流数据管道
- 构建转换或响应数据流的实时流应用程序
4.主要概念
- 做为一个集群运行在一个或多个可跨多个数据中心的服务器上
- kafka集群以称为主题的类别存储记录流
- 每条记录由一个键