我正在编写一个处理事件消息的应用程序(发布到主题 file-upload-completed
) . 我有多个 endpoints 应该使用这些消息( metadata-reader
和 quota-checker
),出于实际的原因,我想将这些 endpoints 一起部署在聚合包中 .
使用Spring Cloud Stream,我可以使用 spring.cloud.stream.bindings.file-upload-completed.group=metadata-reader
为第一个 endpoints 设置使用者组;我还想处理 quota-check
组下的消息,但基于属性的配置只允许每个消息队列绑定一个消费者组 .
有没有办法配置Spring Cloud Stream,以便我可以绑定到同一应用程序中多个使用者组下的单个消息队列?
2 回答
每个消息队列,你的意思是,每个绑定?
此外,当您指定属性
spring.cloud.stream.bindings.file-upload-completed.group=metadata-reader
时,file-upload-completed
此处表示绑定的目标名称(例如:通道名称),您可以定义与绑定到特定目标的特定使用者组的通道数量及其绑定(主题:file-upload-completed
)使用上面的配置,您可以执行诸如join等操作,如下所示:
AFAIK
consumer group
表示singleton consumer in cluster . 如果两个 endpoints 都在同一个应用程序中,则没有理由提取新的使用者组 . 您可以在内部向所有 endpoints 发送publish-subscribe传入消息 .