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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

使用Apache Camel发布/订阅模式

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

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

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

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

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

  • websocket –它使用Eclipse Jetty Server,并且可以將消息發(fā)送到當(dāng)前連接的所有客戶端。
  • hazelcast – SEDA實(shí)現(xiàn)了工作隊(duì)列,以支持異步SEDA體系結(jié)構(gòu)。
  • guava-eventbus –駱駝和Google Guava EventBus基礎(chǔ)架構(gòu)之間的集成橋。
  • spring-event –提供對Spring ApplicationEvent對象的訪問。
  • 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)的傳輸。

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

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

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

總結(jié)

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

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