すべてのプロダクト
Search
ドキュメントセンター

データサブスクリプション SDK の耐障害性

最終更新日: Apr 17, 2020

SDK の使用の複雑さを簡素化するため、Data Transmission Service (以降、DTS) は SDK 耐障害性メカニズムを実装しています。このメカニズムでは、SDK がデータを消費するとき、DTS 中央制御ノードに消費時間をリアルタイムで報告しています。このセクションでは、DTS が提供する SDK 耐障害性メカニズムの使用方法について説明します。

要件

  1. SDK でメッセージを消費するコードでは、メッセージを消費するたびに ackAsConsumed API を呼び出して、消費時間を DTS に報告します。
  2. サブスクリプションチャネルは、少なくともプライマリ SDK とセカンダリ SDK を開始する必要があります。

消費アーキテクチャ

接続タイプの入力

DTS のサブスクリプションチャネルでは、1 つの SDK のみが増分データを受信できます。サブスクリプションチャネルに複数のダウンストリーム SDK が存在する場合、そのうちの 1 つだけが増分データを受信できます。したがって、SDK 耐災害性アーキテクチャを構築できます。

上の図のサンプルアーキテクチャでは、2 つのダウンストリーム SDK が 1 つのサブスクリプションチャネルで接続されています。2 つの SDK は、互いにプライマリとセカンダリの SDKとして機能します。同じ期間内に、プライマリ SDK のみが増分データをサブスクライブして消費できます。プライマリ SDK 例外またはネットワーク接続例外の場合、DTS はセカンダリSDK への自動フェールオーバーを開始し、最新の消費時間を使用してセカンダリ SDK を開始します。プライマリ SDK は、メッセージを消費するたびに ACK メッセージを DTS 制御システムに報告します。つまり、消費時間を制御システムに報告します。