Java消息系统介绍
2019獨角獸企業重金招聘Python工程師標準>>>
Java消息系統介紹
在這篇文章中,我將會討論面向消息的中間件(Message Orientated Middleware) 以及如何通過JMS來實現。另外,我還將討論適用于使用JMS的典型用例,以及用于討論消息傳遞解決方案(如發布者/發送方,目的地/主題/隊列, 訂閱者/接收者)的不同術語。我將介紹兩種消息拓撲:點對點和發布訂閱。
數據訪問層
在Java EE應用的典型架構中,數據訪問層有很多和數據存儲層通信的技術,比如Java Persistence API(JPI), Java Connector Architecture(JCA),這些技術將應用程序連接到了企業信息系統(EIS)和Java消息服務系統(JMS)
JMS用來做什么?
JMS用于在分布式系統中通過松耦合,異步,可伸縮性和安全的方式傳遞消息。應用程序通過以消息為導向的中間件發送和接收消息。 異步。意味著消息的發送方和接收方不需要同時與消息隊列交互。因此,接收方可以在消息發送后的某個時間接收消息。
- 松耦合。 接收方和發送方相互不可見。
- 可伸縮。意味著系統的不同部分可以以不同的速率增長,并響應應用的負載。例如,在一個站點上突然出現了大量的活動導致通過中間件發送的消息極具增加,可以進行自動擴展。這樣增加了系統的健壯性,否則很難應對這種突然增大的負載,應用程序可能會出現問題,或者直接掛掉了。
什么時候使用JMS?
依賴與使用場景來使用JMS,但是通常,至少會有以下一種情況。
術語
在討論JMS時,有一些有用的術語可以幫助我們傳達我們的意圖。
點到點的消息拓撲結構
在點對點設置中,消息的來源被稱為發送方,而目的地被稱為隊列。這里消息被發送到一個目的地,只有一個消息的實例被接收方接收。如果接收方關閉,則消息將在隊列中保存,直到接收方重新啟動并再次運行。
發布訂閱消息拓撲結構
在發布/訂閱設置中,消息的來源被稱為發布者,目標被稱為主題。在這里,許多訂閱者可以訂閱一個主題,每個訂閱者都接收到消息的一個實例。因此,一個消息被發送給許多等待的訂閱者。如果訂閱服務器關閉,它將不會接收到消息,當它再次運行時。
更多參考
- Context and Dependency Injection (CDI)
- Enterprise Java Beans (EJB)
- JSP, JSP and Expression Language
- RESTful webservices
- Java Persistence API
- Work with consumers and producers
原文: https://dzone.com/articles/java-message-system-introduction?edition=327491&utm_source=Daily%20Digest&utm_medium=email&utm_campaign=Daily%20Digest%202017-09-22
轉載于:https://my.oschina.net/u/1387007/blog/1542360
總結
以上是生活随笔為你收集整理的Java消息系统介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取文件列表
- 下一篇: Python 中使用 for、while