kafka学习笔记
消息流平台的三个特性
- 它可以让您发布和订阅记录数据流。在这方面,它类似于消息队列或企业消息系统
- 它允许您以容错方式存储记录流。
- 它可以让您处理记录流。
Kafka 介绍及特性
Kafka™用于构建实时数据流水线和流媒体应用。它具有水平可扩展性,容错性,快速恶化,并在数千家公司生产。 它被用于两大类应用程序: * 构建可在系统或应用程序之间,可靠的获取数据的实时数据流水线 * 构建对数据流进行转换或反应的实时流应用程序
特性:
- Kafka以一个或多个服务器上的集群来运行的程序
- kafka集群以名为topics 的类别的方式记录流并存储下来。
- 每个记录由一个键、一个值和一个时间戳组成
二、Kafka 架构
三、Kafka 学习笔记
- kafka 是一个分布式的消息缓存系统
- kafka集群中的服务器节点都叫做Broker(经纪人)
- kafka有两种客户端,一种叫producer(消息生产者),另一种叫consumer(消息消费者)。客户端和broker服务器之间的通信走TCP协议
- kafka中不同业务系统的消息可以通过topic进行区分,而且每一个消息topic都会被分区(根据用户设定,分块到每个broker),以分担消息读写负载。
- 每一个分区都可以有多个副本,以防止数据的丢失
- 某一个分区中的数据如果需要更新,都必须通过该分区所有副本中的leader来更新。
- 消费者可以分组
- 消费者在具体消费某个topic中的消息时,可以指定起始偏移量。
参考:
https://www.confluent.io/blog/apache-kafka-security-authorization-authentication-encryption/ https://endocode.com/blog/2015/04/08/building-a-stream-processing-pipeline-with-kafka-storm-and-cassandra-part-1-introducing-the-components/