資料匯流排提供了各種功能,瞭解這些功能有助於您更高效地使用資料匯流排。

訂閱者

訂閱者是向資料匯流排登錄的端點,用來從訊息群組接收資料。您不能在相同的訊息群組和相同的訂閱者 URL 下有多個訂閱者。

訂閱者 URL

從資料匯流排接收資料的 URL。 VMware Aria Operations for Networks 資料總線將來自任何訊息群組的所有訊息傳送到訂閱者 URL。此外,還可以使用訂閱者 URL 來訂閱多個訊息群組。
備註: 資料匯流排會從您訂閱任何訊息群組的時刻開始串流資料,並將持續到您取消訂閱為止。系統會透過內建機制處理任何暫時的通訊中斷,一旦問題解決,資料串流就會恢復。您無需執行任何動作。

訊息排序

當事件或物件儲存在 VMware Aria Operations for Networks 中時,透過資料匯流排傳送的訊息通常按時間戳記排序。但是,在某些情況下,無法滿足這些排序保證。為了對訊息進行可靠排序,訂閱者必須利用資料匯流排訊息中的時間戳記欄位,並根據時間戳記對訊息進行排序。

近即時串流

在資料匯流排中,資料在 VMware Aria Operations for Networks 中進行處理與資料匯流排將資料串流出之間存在延遲。延遲時間從三秒到一分鐘不等。此延遲因訊息群組而異,並取決於管線是否暢通。

用於擴展資料處理的負載平衡器

VMware Aria Operations for Networks 資料匯流排接收資料時,可以使用負載平衡器來橫向擴展資料處理服務。若要使用負載平衡器,必須在資料匯流排登錄程序中將負載平衡器 URL 用作訂閱者 URL。負載平衡器可以將資料散佈給橫向可擴展的資料處理服務。

活動訊號

為了協助對 VMware Aria Operations for Networks 資料匯流排與訂閱者端點之間的通訊通道進行疑難排解,VMware Aria Operations for Networks 會每小時向每個訂閱者傳送活動訊號訊息。如果在多個訂閱中指定了同一個 URL,則訂閱者將每個訂閱收到一個活動訊號訊息。

範例:

{
  "id": "c2214eea-68a6-4e5a-9e4b-ff5886a42cd3",
  "type": "HEARTBEAT",
  "specversion": "1.0",
  "source": "CL58EgdESzVDSEE1",
  "message_group": "vms",
  "status": "HEARTBEAT",
  "timestamp": 1681897371522
}

訊息批次處理

VMware Aria Operations for Networks 資料匯流排本身支援批次處理,可以將多個訊息集合在一起形成一個批次,然後傳送給訂閱者。依預設,一個批次的最大大小為 2 MB。當單一訊息的大小超過 2 MB 時,該訊息會被精簡。
備註: 批次的建立會造成額外的延遲,但延遲時間不超過一分鐘。

精簡訊息的範例:

[
{
"id": "elfcdccb-c06a-419b-90bd-7618e8453f87",
"type": "Application",
"specversion": "1.0",
"source": "CNaBARIHRElXRlgxRg==",
"message_group": "applications",
"status": "UPDATE_TRIMMED",
"data": {
"entity_id": "16598:561:716945762559381432", "entity_type": "Application",
"name": "My-3Tier-App"
}
]

交付保證

如果訂閱者用 HTTP 代碼而非 503 錯誤碼作出回應,則視為訊息傳送成功。

如果訂閱者未收到訊息,但 VMware Aria Operations for Networks 未收到 503 錯誤代碼,則 VMware Aria Operations for Networks 認為該訊息已傳送,不會嘗試再次傳送訊息,這可能導致訊息遺失。我們引入該機制是為了確保持續的重試不會使系統不堪重負。例如,如果您的生產環境出現故障,持續重試將會帶來干擾。在這種情況下,傳送非 503 的 HTTP 回應即表明您不想重試。

VMware Aria Operations for Networks 中,訊息源自不同的服務,然後新增到以磁碟為基礎的佇列中。以磁碟為基礎的佇列的有效期為兩小時。

如果任何訊息未在兩小時內傳送給訂閱者,這些訊息將按 FIFO 方式從佇列中刪除,並且不會傳送給訂閱者。此外,如果 VMware Aria Operations for Networks 中的訊息量超出系統可以可靠轉送的數量,則訊息可能會被丟棄。當資料匯流排訂閱者無法存取時,系統會嘗試傳送訊息,直到成功傳遞訊息。版本 6.9 新增了一個退避機制,系統會以指數時間進行重新嘗試訊息傳送。

篩選

註冊訂閱者時,該訂閱者會取得此訊息群組的所有訊息。VMware Aria Operations for Networks 資料匯流排不支援篩選訊息。如果不想要訊息群組中的所有訊息,則可以根據篩選條件捨棄訊息,然後再進一步處理。此外,還可以從 VMware Aria Operations for Networks UI 停用警示。

將訊息與其他物件相關聯

在某些情況下,資料匯流排接收到的訊息會包含有關幾個其他相關實體的上下文資訊,但並不包含這些實體的完整詳細資訊。然而,該訊息包含了特定的識別碼,如 entity_id。若要取得有關這些相關實體的詳細資料,必須使用 API 訂閱這些實體。例如,訂閱主機訊息群組有助於關聯從問題訊息群組接收到的事件的主機。