問題タブ [consul]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
curl - Consul Watch : ノード アドレスの変更時にスクリプトを実行する方法
以下の領事サービスを登録しています。
ここに示すように、myservice サービス内にノード myservice-main があります。myservice-main のアドレスが変更されたときに、特定のものを実行したいと考えています。私はそれを達成するのにconsul watchが役立つことを読みましたが、同じためのcurlコマンドを書くことができません. 私の要件を達成するために使用できるhttp APIを教えてもらえますか? リモートシステムからやりたいので、HTTP API(curl)とシェルスクリプトしか使用できません
java - アドレス宣言なしで Consul にサービスを登録する方法
Consul を使用して、HTTP エンドポイントを使用してサービスを Consul Agent に登録します/v1/agent/service/register
。唯一の問題は、サービスが異なる IP アドレス (1 番目のインスタンス 10.0.0.1、2 番目の 10.0.0.2 など) にバインドされる可能性があり、Consul がリクエストの IP アドレスに基づいて自動的にアドレスを設定することです。
例えば、
「サービス インスタンス 1 (10.0.0.1)」が送信{name:'svs', id:'svs-01'}
され/v1/agent/service/register
、Consul はそれを次のように登録します。{name:'svs', id:'svs-01', Address: 10.0.0.1}
「サービス インスタンス 2 (10.0.0.2)」が送信{name:'svs', id:'svs-02'}
され/v1/agent/service/register
、Consul はそれを次のように登録します。{name:'svs', id:'svs-02', Address: 10.0.0.2}
Consul Agent Service Documentationによると、住所フィールドがサービス登録クエリで欠落している場合、提供されていない場合、住所はデフォルトでエージェントの住所になります。しかし、それは私が必要とするものではありません。
実行時にサービスの IP アドレスを検出しようとしましたが、ネットワーク インターフェイスが複数ある可能性があり、それらを区別するのは困難です。
consul - Consulにサービスを登録する最良の方法は何ですか
たとえば、サーバー マシンで 10 個の Web アプリケーションを実行している場合、それを A と呼びます。3 台のマシンで Consul を実行していて、サーバー ロールになっています。これらの 10 個のアプリをどこに登録すればよいですか? A そして、これらのアプリを登録しますか? またはそれらのサーバー領事に?