日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

apache camel_使用Apache Camel发布/订阅模式

發(fā)布時(shí)間:2023/12/3 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apache camel_使用Apache Camel发布/订阅模式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

apache camel

發(fā)布/訂閱是一種簡(jiǎn)單的消息傳遞模式,其中,發(fā)布者將消息發(fā)送到某個(gè)頻道,而無(wú)需知道誰(shuí)將接收消息。 然后,通道負(fù)責(zé)將消息的副本傳遞給每個(gè)訂戶。 此消息傳遞模型可以創(chuàng)建松耦合和可伸縮的系統(tǒng)。

這是一種非常常見的消息傳遞模式,有許多方法可以在Apache Camel中創(chuàng)建一種pub-sub。 但是請(qǐng)記住,它們都是不同的并且具有不同的特征。 從最簡(jiǎn)單到更復(fù)雜,這是一個(gè)列表:

  • 組播 –僅與靜態(tài)的訂閱者列表一起使用,可以將消息并行傳遞給訂閱者,如果其中一個(gè)訂閱者發(fā)生故障,則停止或繼續(xù)例外。
  • 收件人列表 –與多播類似,但是允許在運(yùn)行時(shí)(例如在消息頭中)定義訂戶。
  • SEDA –該組件使用BlockingQueue提供異步SEDA行為。 設(shè)置multipleConsumers選項(xiàng)后,可以將其用于異步發(fā)布訂閱消息。 如果沒(méi)有按時(shí)使用郵件,它還可以阻止已滿的郵件,設(shè)置隊(duì)列大小或超時(shí)發(fā)布。
  • VM –與SEDA相同,但是可以跨多個(gè)CamelContext,只要它們?cè)谕籎MV中即可。 這是在Web容器中的Web應(yīng)用程序之間或OSGI容器中的捆綁軟件之間發(fā)送消息的一種很好的機(jī)制。
  • Spring-redis – Redis具有pubsub功能,可以將消息發(fā)布到多個(gè)接收者。 可以通過(guò)名稱或使用模式匹配來(lái)訂閱頻道。 當(dāng)使用模式匹配時(shí),訂戶將從所有與模式匹配的通道接收消息。 請(qǐng)記住,在這種情況下,如果多個(gè)模式與發(fā)送消息的同一通道匹配,則可能會(huì)收到一條以上的消息。
  • JMS(ActiveMQ) –這可能是進(jìn)行包括持久訂閱在內(nèi)的發(fā)布訂閱的最佳方法。 有關(guān)完整列表功能檢查ActiveMQ的網(wǎng)站。
  • Amazon SNS / SQS –如果您需要一個(gè)真正可擴(kuò)展且可靠的解決方案,那么SNS是必經(jīng)之路。 為SQS隊(duì)列訂閱該主題,將其轉(zhuǎn)變?yōu)槌志糜嗛喺?#xff0c;并允許以后輪詢消息。 在這種情況下要記住的重要一點(diǎn)是,它不是非常快,最重要的是,Amazon不保證您的消息的FIFO順序。

也有不太流行的Camel組件提供發(fā)布-訂閱消息傳遞模型:

  • websocket –它使用Eclipse Jetty Server,并且可以向當(dāng)前連接的所有客戶端發(fā)送消息。
  • hazelcast – SEDA實(shí)現(xiàn)了工作隊(duì)列,以支持異步SEDA體系結(jié)構(gòu)。
  • guava-eventbus –駱駝和Google Guava EventBus基礎(chǔ)結(jié)構(gòu)之間的集成橋。
  • spring-event –提供對(duì)Spring ApplicationEvent對(duì)象的訪問(wèn)。
  • eventadmin –在OSGi環(huán)境上以接收OSGI事件。
  • xmpp –實(shí)現(xiàn)XMPP(Jabber)傳輸。 在聊天室中發(fā)布消息也是pub-sub;)
  • mqtt –用于與兼容MQTT的消息代理進(jìn)行通信。
  • amqp –使用Qpid項(xiàng)目的客戶端API支持AMQP協(xié)議。
  • javaspace –一種用于處理任何與JavaSpace兼容的實(shí)現(xiàn)的傳輸。

您可以命名其他任何方式來(lái)進(jìn)行發(fā)布-訂閱嗎?

參考:來(lái)自O(shè)FBIZian博客的JCG合作伙伴 Bilgin Ibryam的Apache Camel發(fā)布/訂閱模式 。

翻譯自: https://www.javacodegeeks.com/2013/05/publishsubscribe-pattern-with-apache-camel.html

apache camel

總結(jié)

以上是生活随笔為你收集整理的apache camel_使用Apache Camel发布/订阅模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。