この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 32919|答える: 0

[出典] [建築]。 net/c#はConsulに基づくKey/Valueストアの分散構成を実装しています

[リンクをコピー]
2020年10月16日 18:18:06 に投稿 | | | |
分散アプリケーションでは、データベース接続文字列の更新やキャッシュアドレスの更新など、設定プロパティの変更が必要になることが多いです。 アプリケーション数が少ない場合は手動で変更できますが、アプリケーションが増えたら分散構成が非常に重要になります。この記事では、Consulを基盤とした.net/c#のキー/バリューストレージアーキテクチャを解説し、分散構成を実装しています。

領事の就任

簡単な紹介

Consulは分散型で非常にスケーラブルなサービス発見および登録ツールです。

コンスルには主に以下の機能が含まれます:

  • サービスディスカバリー:HTTPおよびDNSプロトコルのサービス登録およびディスカバリーのサポート。
  • モニタリングチェック:複数の健康チェックをサポートします。
  • キー/バリューストレージ:HTTP APIを通じた分散KVデータ保存をサポートします。
  • マルチデータセンター対応:任意の数のデータセンターがサポートされています。


取り付け

ダウンロードアドレス:

ハイパーリンクのログインが見えます。

この記事はWindows 10 x64をテスト環境として使用しています。

ダウンロードして解凍した後、cmdコマンドで実行してください。コードは以下の通りです:



devとは開発モードで動作することを意味します。-clientパラメータはクライアントがアクセスできるIPを指定するために使えます。例えば、-client 127.0.0.1は使用可能であり、開発モードではデータは永続化されません。

(開発者モード、クラスターモードは本番環境で推奨されます)



アクセス:http://127.0.0.1:8500/ui/dc1/services以下をご覧ください:



KVインターフェース

APIドキュメントアドレス:

ハイパーリンクのログインが見えます。

まず、オンラインのウェブページを使って新しいキー/値ペアを作成します。

GETリクエストの/v1/kv/:keyパスを通じて値を取得できます。

http://127.0.0.1:8500/v1/kv/test



[
    {
        「ロックインデックス」:0、
        「キー」:「テスト」、
        「フラッグ」:0,
        「Value」: 「aXRzdnNlLmNvbQ==」,
        「CreateIndex」:194、
        「ModifyIndex」:194
    }
]


  • CreateIndexはエントリが作成された時期を表す内部インデックス値です。
  • ModifyIndexはこのキーを最後に修正するインデックスです。 このインデックスは、X-Consul-Indexがレスポンスで返すヘッダー値に対応し、? インデックスクエリパラメータはブロッキングクエリを確立するために使われます。 KVストアのサブツリー全体に対してブロッキングクエリを行うことも可能です。もしも? recurseはクエリを提供し、返された値X-Consul-IndexはプレフィックスのModifyIndexの最新の値に対応します。ブロッキングクエリを用いると、そのプレフィックス内のキーが更新されるまでインデックスは待ちます。
  • LockIndexは、鍵が成功裏に取得された回数です。 ロックが保持されている場合、セッションキーはそのロックを所有するセッションキーを提供します。
  • 鍵はエントリーの全経路です。
  • フラグは各エントリに付加できる不透明な符号なし整数です。 顧客はこのオプションを使うことができますが、彼らの用途には理にかなっています。
  • Valueはbase64でエンコードされたデータの塊です。


.NET/C# キー/値の読み書き

まず、.NET 4.6.1プロジェクトを作成し、nugetを使って必要なパッケージをインストールします。以下の通りです。



コードは以下の通りです:



レンダリングは以下の通りです:



  • キーキーは大文字に区別されます
  • キーが重複すると、値の値は上書きされます


(終わり)




先の:自宅のパソコンでノートパッドを使って.NETプログラムを10年間デバッグすること
次に:アーキテクチャ:ASP.NET CoreはConsulに基づいて動的にホットアップデートを設定します
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com