2017-01-21 7 views
1

2つのアプリケーションを配備し、2つ目のアプリケーションにAPIを提供したいとします。クラウドファウンドリーへのApp to App通信

サービスでは、サービスをバインドする(または、自分のマニフェストの依存関係として宣言する)だけで、アプリケーションに渡すことができるため、アプリケーションに渡されるホスト、ポート、および資格情報に関する情報を取得できます(node.jsのenv変数)。アプリケーション "通信"に対する類似のメカニズムはありますか?

私のアプローチは、両方のアプリケーションがバインドされているRabbitMQサービス(または任意のメッセージブローカー/キュー)を使用して、アプリケーション間通信に使用する方法です。

ありがとうございます!

答えて

1

メッセージブローカーを使用することは、確かに実行可能な解決策です。これにより、非同期通信が可能になります。しかし、アプリケーション< - >サービス通信ではなく、認証/認可がcloudfoundryサービスバインディングを介して確立されているのとは対照的に、あなた自身で認証を行う必要があります。

もう1つの方法は、このためにサービスレジストリを使用することです。両方のアプリはサービスレジストリに登録し、お互いを発見することができます。

春のクラウドサービスレジストリ(ユーレカ)または領事を試すことができます。あなたのメッセージブローカーソリューションに関しては、これはクラウドフォンドリサービスバインディングのように、あなたのアプリケーションの資格情報を生成しません。

+0

いいえ。だから、私のためには(アプリケーションの代わりに)たくさんのサービスを作りたいと思うように感じます。アプリケーションの他の部分で消費されないアプリケーション(UIとも言う)は、実際のアプリケーションだけです。このようにして、バインディングを使用できるように、セキュリティのものを「無料」で入手できます。同意しますか? – newBee

+1

マイクロサービスとCloudfoundryサービスを区別する必要があります。 CFサービスは通常、データベース、メッセージブローカー、APIゲートウェイなどの既成のアプリケーションに使用されます。言い換えれば、他のアプリでも使用できるもので、サービスブローカーがすべてのCFユーザ​​ーに利用できるものです。アプリの一部をCFサービスとして利用できるようにするには、これらの部分にサービスブローカーを実装する必要があります。しかし、マイクロサービスは実際にはCFアプリケーションであり、サービスレジストリに登録することができます。私はマイクロサービスがあなたのユースケースに対してより意味をなさないと思う。 – user152468

2

あなたのユースケースから、マイクロサービスからマイクロサービスの発見まで、Spring Cloud ServicesとEurekaが必要です。

私はnodejsで多くの経験がありません。しかし、いくつかのグーグル、あなたにいくつかの記事を提供します。ここをクリックしてください - https://www.npmjs.com/package/eureka-js-client

この記事では、JavaとSpringの観点からの概要 - https://spring.io/guides/gs/service-registration-and-discovery/を紹介します。

関連する問題