私はnetflixクラウドスタックを持つスプリングブートアプリケーションを開発しています。各モジュール(マイクロサービス)を別々のドッカーコンテナに配置することです。 - ユーザー管理と認証 springboot cloud netflixをマルチホストネットワーク上の本番環境に展開するには、これが正しい方法ですか?
- ユーレカMicroservices
- MySQLの
- Angular4 UI
- Keycloakで
- Zuul
- ビジネスロジックを次のように構造があります
- ヒステリシス
- Zipkin
多くの問題に直面し、私は方法を以下に展開している問題でグーグルにネットワーク帯域幅の全体の多くを過ごした後のでわかりました、それはそれを行うには正しい方法であれば、私が知っている必要がありますすることは、ありますか?
ここでの制限は、この構成をテストするために2つのホストが用意されており、さらにアクションプランがまだ存在しないことです。
ここに私が行ったことがあります:私はまだ言及した完全なスタックを使用していません。
サーバ1
ユーレカ
Zuul
ELK
サーバー2
Keycloak
ビジネスロジックmicroservices
- MySQLの
Anguar4 UIが構成され、まだHystrixとZipkinを使用していません。 私はEurekaに登録する必要があるすべてのマイクロサービスのEureka設定でServer1のIP:PORTを与えました。 Zuulも同様です(IP:Pure of Eureka)。
Angular4 UIでは、すべてのサービスがZuulを通じて呼び出されるため、Zuul展開のURL:PORTを指定しました。
サービスはユーレカの所在地を知る必要があり、残りはユーレカを通じて管理できるため、これは間違いありません。
私の重要な質問は、MySQL、ELKはユーレカに登録できないため、必要に応じてMySQLとELKのIP:PORTを与えるのは正しいですか?
同じことがELKの設定になります。私の必要条件は、すべてのログがこれのために共通の場所に配置されていることです。ドッカー、ボリュームマウントを使用しましたが、マルチホスト環境でこれを達成する方法はわかりません私は外部ボリューム上にログを置くことしかできません。おそらくURL経由でELKでアクセスでき、まだこの設定をテストしていません。
もしそうなら、この設定はそうではありません。私たち自身がそれを管理できると思うのですか?
私は "network_mode"を使用するように私のドッカーを構成しました:ホストはホストドッカーとの通信を行うことができます。
もう一度、私の設定/アーキテクチャはマルチホスト環境と将来のクラウド環境に適していることがわかりますか? そうでない場合は、私に正しい道を案内してください。
ありがとうございました! p.s.私の英語と文法のために私を許してください。理解できるように私の知識に最善を尽くしました。指摘してください。
実際にプロジェクトは大きくなるでしょう、現在私は学習段階にあります。このスタックを正しく動作させる方法を知る必要があります。私はMe + 3人のチームでこれに取り組んでいます。私たちはKubernetesを導入しようとしていますが、それは第2ステップです。展開パイプラインについては、Jenkinsを使用する予定ですので、ステップごとに段階的に検討し、実際に各レイヤーを理解したいと考えています。 –
私の助言は依然として立っています。追加の複雑さを導入する必要があるまで、簡単にしてください。上記のすべてのものが追加されます。 – Strelok