简介
Pulsar 采用 发布-订阅的设计模式(简称 pub-sub),在这种模式中,制作者将消息发布到topics;消费者订阅这些topics,处理传入的消息,并在处理完成时向代理发送确认。
一旦创建订阅,即使 consumer 断开连接,Pulsar 仍然可以保存所有消息。 只有当消费者确认所有这些消息都已成功处理时,才会丢弃保留的消息。
如果消息的使用失败,并且希望再次使用该消息,则可以通过向代理发送否定确认或为未确认的消息启用确认超时来启用该消息的自动重新传递。
消息
消息是 Pulsar 的基础“单元”。下表列出了消息的组件。
组件 | 说明 |
---|---|
Value / data payload | 消息携带的数据。pulsar所有的信息都包含原始字节,尽管信息数据也可以符合数据模式 |
Key | 消息可以选择用键进行标记,这在 topic 压缩 等操作很有用。 |
Properties | 用户自定义属性的键值对(可选)。 |
Producer name | 生成消息的制作人的姓名。如果未指定生产者名称,则使用默认名称。 |
Sequence ID | pulsar的每条信息都属于其topic的有序序列。你的每条信息都属于其topic的有序序列。 |
Publish time | 消息发布时的时间戳。时间戳由生产者自动应用。 |
Event time | 应用程序可以附加到消息的时间戳(可选), 例如处理消息的时间。 如果没有明确设置,则消息的事件时间为 0。 |
TypedMessageBuilder | 用于构造消息。 您可以使用 TypedMessageBuilder 设置消息的键值对属性。在设置 TypedMessageBuilder 时,最佳的选择是将 key 设置为字符串。 如果将 key 设置为其他类型(例如,AVRO 对象),则 key 会以字节形式发送,这时 consumer 就很难使用了。 |
message的默认大小为5 MB。您可以使用以下配置配置消息的最大大小。
. 在 broker.conf 文件中
# The