分布式三大消息作用?
分布式消息服務(DistributedMessageService)是一項基于高可用分布式集群技術的消息中間件服務,具有大規模、高可靠、高并發訪問、可擴展且完全托管的特點。使云應用程序的組件去耦合,具有很高的成本效益。
產品優勢
高級隊列
提供高級隊列,即開即用,安全可靠,支持高吞吐、高可靠兩種應用場景。
普通隊列
DMS支持普通隊列和有序隊列,提供高并發、低延時、穩定安全的消息中間件服務。
功能豐富
提供廣播消息、延時消息、消息重投、消息查詢、消息回溯、死信消息等,可根據業務需要定制隊列處理能力。
應用場景
分布式消息服務可應用在多個領域,包括異步通信解耦、企業解決方案、金融支付、電信、電子商務、快遞物流、廣告營銷、社交、即時通信、手游、視頻、物聯網、車聯網等。
分布式消息服務可以應用但不局限于以下業務場景:
業務解耦
將業務中依賴其他系統同時屬于非核心或不重要的部分使用消息通知即可,無需同步等待其他系統的處理結果。
如電商網站在促銷期間搶購訂單,搶到的商品訂單信息放入消息隊列,出庫、發貨等后續會從隊列里讀取任務信息然后執行。
最終一致性
在交易或支付系統中,不同的子系統/模塊的狀態需要最終保持一致,或都成功或都失敗。子系統/模塊之間傳遞的數據不能丟失,需要有可靠消息傳遞,能保證業務的連續性。DMS可以用于子系統/模塊間的高可靠數據傳遞,實現兩者之間的事務最終一致,降低實現難度和成本。
例如用戶使用儲蓄余額購買理財產品。由于理財系統一般對理財申購交易采用日終統一處理,允許用戶的儲蓄余額與理財系統資金余額存在一定時間段的不一致,或者說中間狀態,因此,可以對理財產品的購買支付流程使用DMS服務的消息處理機制,保證儲蓄余額與理財余額的最終一致,同時避免系統間對賬不平。
錯峰流控
在電子商務系統或大型網站中,上下游系統處理能力存在差異,處理能力高的上游系統的突發流量可能會對處理能力低的某些下游系統造成沖擊,需要提高系統的可用性的同時降低系統實現的復雜性。電商大促銷等流量洪流突然來襲時,可以通過隊列服務堆積緩存訂單等信息,在下游系統有能力處理消息的時候再處理,避免下游訂閱系統因突發流量崩潰。消息隊列提供億級消息堆積能力,3天的保留時長,消息消費系統可以錯峰進行消息處理。
日志同步
應用通過可靠異步將日志消息同步到消息服務,再通過其他組件對日志做實時或離線分析,也可用于關鍵日志信息收集進行應用監控。
使用DMS實現日志同步一般按以下流程:
日志采集客戶端,負責用戶應用服務的日志數據采集,以發送消息寫入DMS消息隊列。
DMS消息隊列,負責日志數據的接收、存儲和轉發管理。
日志處理應用,訂閱并消費DMS消息隊列中的日志數據。
java進程間通訊的有幾種方法?
JAVA進程間通信的方法主要有以下幾種: (1)管道(Pipe):管道可用于具有親緣關系進程間的通信,允許一個進程和另一個與它有共同祖先的進程之間進行通信。 (2)命名管道(namedpipe):命名管道克服了管道沒有名字的限制,除具有管道所具有的功能外,它還允許無親緣關系進程間的通信。 (3)信號(Signal):信號是比較復雜的通信,用于通知接受進程有某種事件發生,除了用于進程間通信外,進程還可以發送信號給進程本身。 (4)消息(Message)隊列:消息隊列是消息的鏈接表,包括Posix消息隊列systemV消息隊列。 (5)共享內存:使得多個進程可以訪問同一塊內存空間,是最快的可用IPC形式。是針對其他通信機制運行效率較低而設計的。 (6)內存映射(mappedmemory):內存映射允許任何多個進程間通信,每一個使用該機制的進程通過把一個共享的文件映射到自己的進程地址空間來實現它。 (7)信號量(semaphore):主要作為進程間以及同一進程不同線程之間的同步手段。 (8)套接口(Socket):更為一般的進程間通信機制,可用于不同機器之間的進程間通信。