-
产品及方案 产品及方案
-
数据驱动型组织通过体系化的方法构建全域数据能力,实现数据驱动运营,重塑组织生产力
- 行业方案
- 典型方案
- 产品
-
数据驱动型组织
- 服务与支持
- 社区
- 合作伙伴
- 关于爱数
请选择咨询类型
扫码关注
爱数技术支持中心公众号
我们将在 24 小时之内联系你。
生产者负责创建消息。一般情况下,生产者在把消息均衡地分布到在主题的所有分区上,而并不关心消息会被写到哪个分区。如果想要把消息写到指定的分区,可以通过自定义分区器来实现。
生产者将消息写入主题的一个或多个分区,然后由 Kafka 集群将消息存储在该分区的消息队列中。生产者可以使用异步或同步方式向 Kafka 发送消息。异步方式意味着生产者可以同时向多个主题发送消息,而不必等待确认消息是否成功发送。同步方式意味着生产者必须等待 Kafka 确认消息已成功发送,然后才能发送下一条消息。
2. Broker(中间者):
Kafka 集群由多个 Broker 组成。每个 Broker 都是一个独立的服务器,它负责管理一个或多个主题的分区。Broker 接收来自生产者的消息,并将消息存储在消息队列中,同时,它还处理来自消费者的请求,并将消息发送回消费者。每个分区都会被分配到一个 Broker 上,并在该 Broker 上进行复制,以确保数据的高可用性和冗余性。
3. Topic(主题)
Topic(主题)是一个逻辑概念,用于组织和分类消息。它是Kafka消息系统中的基本单元,用于将消息进行逻辑上的分组和归类。可以看作是一个发布-订阅模型中的主题或频道,消息的生产者将消息发布到特定的Topic中,而消息的消费者则从订阅或订阅特定的Topic来接收消息。
每个Topic可以有一个或多个分区(Partition),每个分区可以保存不同时间段的消息序列。分区是Topic的物理存储单位,它将消息划分为多个有序的部分,并分布在Kafka集群的不同节点上。
通过使用Topic,Kafka实现了高度可扩展和分布式的消息发布-订阅系统。它允许多个生产者并行地向一个或多个Topic发送消息,并且多个消费者可以独立地订阅不同的Topic进行消息消费。通过创建不同的Topic,可以根据需求将消息进行分类、分割和分发,以满足不同业务场景下的消息传递需求。例如,可以创建一个名为"sales"的Topic来存储订单相关的消息,创建一个名为"traces"的Topic来存储日志消息等。Topic在Kafka中是用于组织和分类消息的逻辑概念,它允许消息的生产者和消费者按照一定的规则进行消息的发布和订阅。
4.Consumer (消费者)
消费者是消费者群组的一部分,消费者负责消费消息。消费者可以订阅一个或者多个主题,并按照消息生成的顺序来读取它们。消费者通过检查消息的偏移量 (offset) 来区分读取过的消息。偏移量是一个不断递增的数值,在创建消息时,Kafka 会把它添加到其中,在给定的分区里,每个消息的偏移量都是唯一的。消费者把每个分区最后读取的偏移量保存Zookeeper 或 Kafka 上,如果消费者关闭或者重启,它还可以重新获取该偏移量,以保证读取状态不会丢失。请就本文对您的益处进行评级: