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

眺める: 55716|答える: 3

[出典] 【アーキテクチャ】ASP.NET コアはコンスルサービスに基づく非常に利用可能です

[リンクをコピー]
2020年10月16日 18:33:07に投稿 | | | |
インターネットプロジェクトの開発においては、さまざまなサービスとやり取りすることが必要であり、ユーザーはサーバーからデータを取得します。特にeコマースや決済システムにおいて、サービスインターフェースの高可用性は重要です。高可用性はシステムの堅牢性も測定します。 クラスターの場合、多くのサービスも維持が困難です。

領事レビュー

ConsulはHashiCorpが発売したGo言語で開発されたオープンソースツールで、分散システムのサービス発見と設定を実現するために使用されます。組み込みのサービス登録・発見フレームワーク、分散整合性プロトコルの実装、健康チェック、キー/値保存、マルチデータセンターソリューションなどが搭載されており、比較的使いやすいです。

[建築]。 net/c#はConsulに基づくKey/Valueストアの分散構成を実装しています
https://www.itsvse.com/thread-9420-1-1.html

アーキテクチャ:ASP.NET CoreはConsulに基づいて動的にホットアップデートを設定します
https://www.itsvse.com/thread-9421-1-1.html


領事サービス発見

Consul Service Discoveryの使い方:

  • 各コンピュータでクライアントモードでConsulエージェントを稼働させ、これは最新の登録情報をConsulクラスタと効率的に交換することだけを担当します(リーダー選挙には参加しません)。
  • 各コンピュータのサービスサービスは、サービス名とURLをローカルのコンスルエージェントに登録します
  • Computer1上で展開されたプログラムがServiceBを呼び出す必要がある場合、ServiceAはサービス名を通じてローカルのConsulエージェントから直接ServiceBのアクセスアドレスを取得し、その後直接ServiceBのURLにリクエストを送ります。




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



スタートアップクラスでは、以下の通りに電話をかけてください:



健康診断

健康チェックインターフェースは200ステータスコードをコンスルに返すだけでよく、そのコードは以下の通りです:



プロジェクトを始めて、サービスに登録しましょう

管制官は以下のようにテスト方法を定義できます。



プロジェクトのbinディレクトリに行き、コマンドラインから起動してみましょう。コードは以下の通りです:





ブラウザからリンクをご覧ください:

http://127.0.0.1:8500/ui/dc1/services/test.itsvse



http://127.0.0.1:8500/v1/catalog/service/test.itsvse

jsonデータは以下の通りです:

[
    {
        「ID」:「bb644359-6b2a-a27e-7a0a-a1950b8e515f」
        「ノード」:「DESKTOP-EB7B69D」
        「アドレス」:「127.0.0.1」
        「データセンター」:「dc1」
        「タグ付きアドレス」: {
            "lan": "127.0.0.1",
            "wan": "127.0.0.1"
        },
        「ノードメタ」:{
            「コンスル・ネットワーク・セグメント」:「」
        },
        「ServiceKind」: "",
        「ServiceID」: 「507338bf-a5a6-4013-9675-c43a40a2c1a0」
        「ServiceName」: "test.itsvse",
        「ServiceTags」: [
            「テスト」、
            「ITSVSE」
        ],
        「ServiceAddress」: "127.0.0.1",
        「ServiceWeights」: {
            「合格」:1、
            「警告」:1
        },
        「ServiceMeta」: {},
        「ServicePort」:8083、
        「ServiceEnableTagOverride」: false,
        「ServiceProxy」: {
            「MeshGateway」: {},
            「エクスポーズ」: {}
        },
        「ServiceConnect」: {},
        「CreateIndex」:1317、
        「ModifyIndex」:1317
    },
    {
        「ID」:「bb644359-6b2a-a27e-7a0a-a1950b8e515f」
        「ノード」:「DESKTOP-EB7B69D」
        「アドレス」:「127.0.0.1」
        「データセンター」:「dc1」
        「タグ付きアドレス」: {
            "lan": "127.0.0.1",
            "wan": "127.0.0.1"
        },
        「ノードメタ」:{
            「コンスル・ネットワーク・セグメント」:「」
        },
        「ServiceKind」: "",
        「ServiceID」:「bb21f150-7219-4eda-bc91-54686a750228」
        「ServiceName」: "test.itsvse",
        「ServiceTags」: [
            「テスト」、
            「ITSVSE」
        ],
        「ServiceAddress」: "127.0.0.1",
        「ServiceWeights」: {
            「合格」:1、
            「警告」:1
        },
        「ServiceMeta」: {},
        「ServicePort」:8082、
        「ServiceEnableTagOverride」: false,
        「ServiceProxy」: {
            「MeshGateway」: {},
            「エクスポーズ」: {}
        },
        「ServiceConnect」: {},
        「CreateIndex」:1314、
        「ModifyIndex」:1314
    }
]


領事サービスコール

以下のコードで新しい.NET Coreコンソールプロジェクトを作成しましょう:



登録済みのtest.itsvseサービスにランダムに電話をかけたところ、結果は以下の通りです。



最後に、ソースコードのダウンロードです:

観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ答える




先の:アーキテクチャ:ASP.NET CoreはConsulに基づいて動的にホットアップデートを設定します
次に:DMPファイルインポートは例外的です
2020年11月30日 19:57:38に投稿 |
W174W174W174
2021年7月23日 09:31:37に投稿 |
共有してくれてありがとう
2021年9月3日 09:05:16に投稿 |
ソフトウェア、何万通ものメールを取り込み、死を偽装せず、凍結もしない!!
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com