1

私は、マイクロサービスアーキテクチャを使用して実装された自分のアプリケーションでSpring Eurekaを検出サーバーとして使用しています。サービスは主にPHPで作成され、Eureka RESTエンドポイントを使用して起動時に登録し、30秒ごとにハートビートを送信し、すべてがうまく動作します。Spring Cloud Eureka非JVM言語(PHP)/発見サービス(Eureka RESTエンドポイントを使用)

ここで、サービスAはサービスBと話したいと考えていますが、その発見はどのように行われますか? 現在、サービスAは、http://localhost:8761/eureka/apps/service-BエンドポイントにGET要求を送信し、サービスBの現在のインスタンスのリストを取得し、それらの中から選択する必要があります。それは正しいアプローチですか? ロードバランシングはどうですか?毎回異なるインスタンスを要求するために私のサービスに実装する必要がありますか?または、それらの間でランダムに選択できますか?

ご協力いただければ幸いです。

+0

これらのサービスをどこに配備しますか?多分プラットフォームから何かを使うことさえできますか? – Jeff

+0

@Jeff私の国の一部のクラウドサーバではAWSには配備されません。 –

答えて

1

春クラウドNetflixのサイドカーでこれを行う簡単な方法があります:http://cloud.spring.io/spring-cloud-static/Camden.SR7/#_polyglot_support_with_sidecar

あなたはこの自分自身を実装するには継続したい場合は、いくつかのオプションがあります。クライアント側の負荷分散を使用すると、ユーレカからすべてのインスタンスを取得し、消費側でランダムに1つを選択できます。サーバサイドのロードバランシングが必要な場合は、Zuulのような追加のコンポーネントが必要になり、ロードバランシングとルーティングを実行します。 Zuulはユーレカ構成を使用しているため、簡単に統合できます。

関連する問題