我正在阅读 ActiveMQ,这似乎是服务总线的一个很好的实现,生产者可以发布消息,其他进程可以接收它们。
但是,在阅读文档时,看起来生产者在发送消息时必须提供“端点”。
我宁愿反过来:我的生产者发布事件“导入作业开始”、“导入作业完成”等,任何对某些事件类别感兴趣的消费者都可以订阅和接收这些事件。但是,消费者不应消费该事件,因为它不再发送给其他订阅者。
拥有这种属性的最佳产品是什么?
约束: - 它应该至少有 .Net 和 php 的接口 - 它应该跨机器边界工作
谢谢
我正在阅读 ActiveMQ,这似乎是服务总线的一个很好的实现,生产者可以发布消息,其他进程可以接收它们。
但是,在阅读文档时,看起来生产者在发送消息时必须提供“端点”。
我宁愿反过来:我的生产者发布事件“导入作业开始”、“导入作业完成”等,任何对某些事件类别感兴趣的消费者都可以订阅和接收这些事件。但是,消费者不应消费该事件,因为它不再发送给其他订阅者。
拥有这种属性的最佳产品是什么?
约束: - 它应该至少有 .Net 和 php 的接口 - 它应该跨机器边界工作
谢谢
我认为您当前正在发布到一个队列,这通常意味着 1 个消费者会消费消息并处理事件。如果您需要有超过 1 个消费者接收事件,您应该使用主题。
使用主题时,所有订阅的消费者都会收到您发布的事件。
看看这个:http ://activemq.apache.org/how-does-a-queue-compare-to-a-topic.html
如果您对将服务托管在云上感到满意,Microsoft 的 ServiceBus通过其主题/订阅模型启用该场景。在此模型下,您的生产者向主题(一个用于所有实际目的的队列)发送一条消息,任何订阅它的人都将获得该消息的副本。对于更高级的场景,您甚至可以创建规则和过滤器来定义哪些客户端获取哪些消息。为此,有 .NET 和 REST API。
您可以在此处查看有关功能的完整说明。该文档包含有关如何为此使用客户端库的示例代码。如果您需要对这些语言的支持,还有关于如何将 servicebus 与 Java 和 PHP 一起使用的示例。