Pulsar
eventmesh-connector-pulsar 同时提供 Source 和 Sink。Source 从 Pulsar Topic 消费消息并发布到 EventMesh;Sink 从 EventMesh 接收事件并写入 Pulsar。
PulsarSinkConnector:从 EventMesh 到 Pulsar
- 启动 Pulsar 和 EventMesh Runtime。
- 启用 sinkConnector(在
server-config.yml中设置sinkEnable: true)并检查sink-config.yml。 - 启动
PulsarConnectServer。它会订阅 EventMesh Runtime 中pubSubConfig.subject指定的 Topic,并把每条记录发布到 Pulsar 的connectorConfig.topic。 - 向 EventMesh 的该 Topic 发送消息后,可在 Pulsar Topic 上看到它。
pubSubConfig:
meshAddress: 127.0.0.1:10000
subject: TopicTest
idc: FT
env: PRD
group: pulsarSink
appId: 5031
userName: pulsarSinkUser
passWord: pulsarPassWord
connectorConfig:
connectorName: pulsarSink
serviceUrl: 127.0.0.1:6650
topic: TopicTest
PulsarSourceConnector:从 Pulsar 到 EventMesh
- 启动 Pulsar 和 EventMesh Runtime。
- 启用 sourceConnector(在
server-config.yml中设置sourceEnable: true)并检查source-config.yml。 - 启动
PulsarConnectServer。它会以pubSubConfig.group为订阅名消费 Pulsar 的connectorConfig.topic,并把每条消息发送到 EventMesh Runtime 中pubSubConfig.subject指定的 Topic。 - 向该 Pulsar Topic 发送消息后,可在 EventMesh 中收到它。
pubSubConfig:
meshAddress: 127.0.0.1:10000
subject: TopicTest
idc: FT
env: PRD
group: pulsarSource
appId: 5032
userName: pulsarSourceUser
passWord: pulsarPassWord
connectorConfig:
connectorName: pulsarSource
serviceUrl: 127.0.0.1:6650
topic: TopicTest
配置项
pubSubConfig 是与 Runtime 交互的 EventMesh TCP 客户端配置。connectorConfig 字段:
connectorName:连接器名称。serviceUrl:传给PulsarClient.builder().serviceUrl()的 Pulsar broker 地址。topic:Sink 写入或 Source 消费的 Pulsar Topic。
Source 的订阅名是 pubSubConfig.group。
注意事项
- 自带的
server-config.yml中sourceEnable: true、sinkEnable: true。不需要的一侧请关掉。 - 请先在 Pulsar 上创建 Topic,或打开 broker 的自动创建。
serviceUrl是 Pulsar 二进制协议地址(常见形式pulsar://host:6650)。示例使用127.0.0.1:6650。- 该连接器不配置 token 或 TLS 认证。broker 需要接受未认证客户端。
- Source 的
poll使用consumer.batchReceive(),组装记录后对整批 ack。 - Sink 的
put把每条记录作为 Pulsar 消息发送。CloudEvent 扩展会写成消息 properties。