珠海建站网站,建设招标网官方网站电脑版,西安易码建站,万网域名官网apache camel发布/订阅是一种简单的消息传递模式#xff0c;其中#xff0c;发布者将消息发送到某个频道#xff0c;而无需知道谁将接收消息。 然后#xff0c;通道负责将消息的副本传递给每个订户。 此消息传递模型可以创建松耦合和可伸缩的系统。 这是一种非常常见的消息… apache camel 发布/订阅是一种简单的消息传递模式其中发布者将消息发送到某个频道而无需知道谁将接收消息。 然后通道负责将消息的副本传递给每个订户。 此消息传递模型可以创建松耦合和可伸缩的系统。 这是一种非常常见的消息传递模式有许多方法可以在Apache Camel中创建一种pub-sub。 但是请记住它们都是不同的并且具有不同的特征。 从最简单到更复杂这是一个列表 组播 –仅与静态的订阅者列表一起使用可以将消息并行传递给订阅者如果其中一个订阅者发生故障则停止或继续例外。 收件人列表 –与多播类似但是允许在运行时例如在消息头中定义订户。 SEDA –该组件使用BlockingQueue提供异步SEDA行为。 设置multipleConsumers选项后可以将其用于异步发布订阅消息。 如果没有按时使用邮件它还可以阻止已满的邮件设置队列大小或超时发布。 VM –与SEDA相同但是可以跨多个CamelContext只要它们在同一JMV中即可。 这是在Web容器中的Web应用程序之间或OSGI容器中的捆绑软件之间发送消息的一种很好的机制。 Spring-redis – Redis具有pubsub功能可以将消息发布到多个接收者。 可以通过名称或使用模式匹配来订阅频道。 当使用模式匹配时订户将从所有与模式匹配的通道接收消息。 请记住在这种情况下如果多个模式与发送消息的同一通道匹配则可能会收到一条以上的消息。 JMSActiveMQ –这可能是进行包括持久订阅在内的发布订阅的最佳方法。 有关完整列表功能检查ActiveMQ的网站。 Amazon SNS / SQS –如果您需要一个真正可扩展且可靠的解决方案那么SNS是必经之路。 为SQS队列订阅该主题将其转变为持久订阅者并允许以后轮询消息。 在这种情况下要记住的重要一点是它不是非常快最重要的是Amazon不保证您的消息的FIFO顺序。 也有不太流行的Camel组件提供发布-订阅消息传递模型 websocket –它使用Eclipse Jetty Server并且可以向当前连接的所有客户端发送消息。 hazelcast – SEDA实现了工作队列以支持异步SEDA体系结构。 guava-eventbus –骆驼和Google Guava EventBus基础结构之间的集成桥。 spring-event –提供对Spring ApplicationEvent对象的访问。 eventadmin –在OSGi环境上以接收OSGI事件。 xmpp –实现XMPPJabber传输。 在聊天室中发布消息也是pub-sub; mqtt –用于与兼容MQTT的消息代理进行通信。 amqp –使用Qpid项目的客户端API支持AMQP协议。 javaspace –一种用于处理任何与JavaSpace兼容的实现的传输。 您可以命名其他任何方式来进行发布-订阅吗 参考来自OFBIZian博客的JCG合作伙伴 Bilgin Ibryam的Apache Camel发布/订阅模式 。 翻译自: https://www.javacodegeeks.com/2013/05/publishsubscribe-pattern-with-apache-camel.htmlapache camel