オーダリング・サービスの管理
このトピックでは、ファインダおよび参加者がオーダリング・サービスを管理する方法について説明します。
オーダリング・サービスとは
Oracle Blockchain Platformは、コンセンサス・タイプとしてRaftをサポートしています。
RaftプロトコルのHyperledger Fabric実装の詳細は、オーダリング・サービス- Raftに関する項を参照してください。
古いKafkaコンセンサス・タイプでは、ネットワーク全体に最大2つのオーナラ・ノードを含めることができ、すべてのチャネルに参加する必要があります。場合によっては、過負荷になり、スケール・アウトできないことがあります。Raftコンセンサス・タイプでは、ネットワークに注文者ノードの数を任意にでき、各チャネルで独自の注文者ノード・セットを定義できます。チャネルごとに異なるオーダラー・ノードを使用でき、オーダラー・ノードはボトルネックではなくなります。
ただし、Raftコンセンサス・タイプは、適切に構成するために複雑になる場合があります。実行できる操作または実行できない操作に関するルールがあり、チャネルがこれらのルールに従っていない場合は、ネットワークが機能しない可能性もあります。次のガイドラインに従って、発生する問題を減らす必要があります:
大部分のオーダリング・サービス・ノード(OSN)を存続させる
- ネットワークで動作しているOSNが50%以下の場合、ネットワーク管理は機能しません。新しいチャネルを作成することも、新しいオーダラ・ノードをネットワークに追加することも、オーダラをネットワークから削除することもできません。
- アプリケーション・チャネルで動作しているOSNが50%以下の場合、このアプリケーション・チャネルにトランザクションを送信することはできません。問合せは正しく機能しますが、新しい組織の追加、アクセス制御リストの変更、チェーンコードのインスタンス化またはデプロイなどの管理操作は失敗します。
新しいOSNをネットワークまたはアプリケーション・チャネルに追加する場合は注意してください。所有者が信頼性があり、OSNが堅牢であることを確認してください。
OSNまたは組織を削除する場合は、50%を超えるOSNが引き続き機能します。たとえば、それぞれ3つのOSNを持つ2つの組織がある場合、1つの組織を削除すると、削除時にその組織はOSNの50%のみが機能していると解釈されます。余分な組織を削除する前に、OSNを残りの組織に追加して、機能しているOSNが常に50%を超えていることを確認します。
オーダラを頻繁に追加または削除しない
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST
これは数分続く場合があります。前のRaftリーダーOSNをチャネルから削除した場合、20分間かかることがあります。
オーダラを頻繁に追加または削除しないようにします。複数のオーダラを追加または削除する必要がある場合は、1つずつ実行し、次の変更を行う前に、ネットワークが動作ステータスに戻っていることを確認します。
できるだけ早く新規オーダラが起動されていることの確認
新しい注文者をネットワークに追加する場合、通常は2つの組織(新しい注文者の創設者と所有者)が関与します。どちらのパーティも、完了するために「Founder's Ordering Serviceへの参加者またはスケールアウトされたOSNの参加」の指示に従う必要があります。そうしないと、作成者はネットワークを管理できなくなります。
参加者またはスケールアウトされたOSNを創設者のオーダリング・サービスに参加
参加者インスタンスをプロビジョニングすると、3つのオーダラで作成されます。オーダラは、ネットワークに参加するまで非アクティブです。ファウンダをスケール・アウトすると、ネットワークに参加するまで、新しいオーダラも非アクティブになります。
複数のオーダラを追加または削除する必要がある場合は、1つずつ実行し、次の変更を行う前に、ネットワークが動作ステータスに戻っていることを確認します。Raftオーダラの追加、削除、開始および停止に関するその他の重要な詳細は、「オーダー・サービスとは」を参照してください。
参加者またはスケールアウトされたオーダラーからのOSN設定のエクスポート
参加者またはスケールアウトしたオーダラをネットワークに参加させるには、それらの設定をエクスポートしてファナにインポートする必要があります。
-
「ノード」タブで、参加者コンソール(またはスケールアウトしたオーダラのファウンダ・コンソール)で、オーダラ・ノード(または複数のノードが存在する場合は最初のオーダラ・ノード)を見つけます。このノードの「アクション」メニューを選択し、OSN設定のエクスポートを選択します。
これにより、設定を含むJSONファイルが生成され、ファイルが保存されます。このファイルには、組織の証明書と、参加者組織の管理者の秘密キーによって署名された選択済オーダラ・サービス・ノード(OSN)設定が含まれます。このファイルは、創設者インスタンスの管理者に送信する必要があります。
このOSNを使用するチャネルでアプリケーションを実行するには、このエクスポートされたTLS証明書も必要です。「アプリケーションの開発の前に」を参照してください。
-
ファウンダ・コンソールで、「ネットワーク」タブを開きます。OSNの追加をクリックします。参加者が指定したJSONファイルの場所の入力を求めるウィンドウが開きます。選択してファイルをアップロードして、「追加」をクリックします。
参加者組織または新規にスケールアウトされたオーダラが、システム・チャネル・リストのオーダラ組織セクションに追加されます。
創設者の環境設定のエクスポート
参加者またはスケールアウトしたオーダラを創設者に追加したら、創設者の設定をエクスポートして参加者またはスケールアウトしたオーダラにインポートする必要があります。
-
ファウンダ・コンソールで、「ネットワーク」タブを開きます。ネットワーク構成ブロックのエクスポートをクリックします。
ネットワーク構成ブロックには、最新のシステム構成ブロックが含まれます。これは保存して参加者の管理者に送信できます。
-
「ノード」タブで、参加者コンソール(またはスケールアウトしたオーダラのファウンダ・コンソール)で、オーダラ・ノード(または複数のノードが存在する場合は最初のオーダラ・ノード)を見つけます。このノードの「アクション」メニューを選択し、ネットワーク構成ブロックのインポートを選択します。
ファウンダ・インスタンス管理者から送信されたファイルの入力を求めるプロンプトが表示されます。
-
参加者コンソールで、「ノード」タブをリフレッシュします。注文者ノードのステータスは「停止中」としてリストされます。「アクション」メニューから、「起動」を選択します。
起動された各注文者ノードは、ファウンダのRaftクラスタに追加されます。
ノート:
複数のOSNを単一のバッチでネットワークに追加することはできません。一度に1つのOSNのみが追加されていることを確認します。ネットワークのオーダリング・サービス設定の編集
ファウンダ・インスタンスのオーダリング・サービス設定を更新できます。
- 更新された設定は、新しいチャネルを作成するときに使用され、既存のチャネルに適用されません。
- 個別に既存のチャネルのオーダー・サービス設定を更新することもできます(「チャネルのオーダー・サービス設定の編集」を参照)。
- オーダリング・サービス設定を変更し、ネットワークに対して実行されているアプリケーションがある場合、変更したオーダリング・サービス設定を使用するようにそれらのアプリケーションを手動で更新する必要があります。
- 一般的ではありませんが、一部のネットワーク参加者に別のオーダリング・サービスを公開することがあります。その場合、更新されたネットワーク構成ブロックをエクスポートし、必要な参加者は変更された設定をインポートします。「創設者のオーダリング・サービスへの参加者またはスケールアウトされたOSNの参加」を参照してください。
オーダリング・サービス設定の表示
参加者のOracle Blockchain Platformインスタンスにインポートされたファウンダのオーダリング・サービス設定を表示できます。