分散式訊息中介軟體

coderlwz發表於2024-10-01

訊息中介軟體是Java開發訊息佇列的一種中介軟體產品。中介軟體類似windows程式設計開發中的外掛。工具外掛在軟體工具中是中間外掛。外掛也是應用程式。訊息的分發過程包裝之後是chatlog 系統或者是手機簡訊。系統與系統之間的通訊透過訊息的傳送和接收。堆積頻繁過多的系統通知訊息需要進行系統系列化的處理操作。訊息中介軟體在Java的執行平臺中使用配置檔案注入的方式呼叫平臺的執行服務。

Java的 springboot 訊息中介軟體的配置方式透過yml配置檔案進行動態的配置。訊息中介軟體作用於不同的系統和不同的開發語言。硬體裝置的監控和互聯操作需要使用不同的開發語言配合才能有更方便的系統平臺獲取相應的資源和資料。Java的開發框架更多和更廣。操作硬體或者是驅動硬體裝置的方式需要有中間層的橋接作用。

分散式訊息佇列中介軟體入隊訊息和消費訊息的方式適配不同的開發程式設計語言提供的操作介面。訊息message是可以資料物件。訊息的標準報文操作格式有相應的開發文件。傳輸的資料是配置在傳輸報文的格式文件之中。訊息佇列需要使用系統的管理和持久化備份記錄。電信和移動聯通的資訊和彩信都是需要收費。網際網路社會的資料量暴增。網路分為移動網際網路和本地網際網路絡。網路流量頻寬更大。訊息佇列的構建是一種程式操作訊息的資料結構。生產者和消費者的設計模式運用在該訊息佇列的管理方式上面。訊息的生產和轉發需要有訊息中轉中心。Rabbitmq 和kafka都是訊息佇列。阿里的訊息轉發過程使用Rocketmq。

冪等性是處理訊息重複消費的一種通用的方式。訊息在PC機器斷電的或者是消費訊息異常的過程都是會發生訊息佇列的重複消費和重複傳送情況。重複的訊息資料在計算機記憶體中或者是資料庫中存在都是不太友好的狀態。資料記錄的唯一性保證節省計算機資源和儲存器資源。訊息的分發過程是透過web系統的轉發和業務邏輯資料處理操作生成。現在的哨兵機制senior實時對訊息佇列的資源進行動態的監控。訊息佇列的哨兵透過定時排程操作訊息佇列在佇列中的生存狀態。新傳送過來的訊息會新增到佇列的隊尾。重複消費的佇列訊息剔除掉。訊息佇列的訊息不消費會堆積成沒有使用狀態。消費的消費在系統監控平臺下進行。

消費訊息和生產訊息都是需要消耗資源。系統的效能現在都是使用分散式的儲存方式。分散式叢集使用主從節點和備份節點提供資料服務和備份。主節點提供對訊息的主機儲存服務。從節點會使用快取記錄訊息。備份節點對主節點的資料進行動態的備份操作。

相關文章