2016-03-24 16 views
5

私たちは春のブート、マイクロサービス、春の雲などを使用しています...私たちはこのインフラストラクチャに満足していますが、私はまだいくつかの懸念があります: 我々は、私がそれをすばらしく見つけたら、私はまだもっと良いものを見つけることができると思います。残りの部分と:どのようにマイクロサービス間の通信を改善する

  • あなたは、あなたがのparamsは(身体を行く場所を知る必要があるサーバーURIを知っておく必要があり、クライアントとサーバー(restcontroller)
  • 、HTTPメソッド(POST, GET, PUT,...
  • を使用する必要がありますクエリ文字列)
  • ....

あなたは私たちがRMIのようなものを持っていた場合、それははるかに容易になるだろうと思いませんか?私はそれがかなり古くからある技術であることを知っています(そしてそれは言語に依存しません)。しかし、それは人生を楽にしました(あなたはただのインターフェースとその実装が必要です)。

周囲を検索して、クライアントや春の雲のような興味深いプロジェクトを見つけましたが、どれも銀色の弾丸ではないようです。

このトピックについてどう思いますか?それはあなたが感じる問題ですか?もしそうなら、どうやってそれにアプローチしますか?

ありがとうございます。

答えて

0

サービスディスカバリとしてSpring Cloud Netflix and EurekaClient-Side Load Balancing with Ribbonを使用できます。

サービスの場所ではなく、サービス名でマイクロサービス間で通信することができます。

this demoをご覧ください。間違いのないマイクロサービスの通信には、非常に役立つはずです。

ここでは、2つの簡単なマイクロサービスとそれらの間の通信のためのディスカバリサービスがあります。

+0

はい、私たちはそれらを使用します。しかし、それらの場合、我々はURI発見の問題を解決します(そしてバランスを取る)。我々はまた、構成を管理するために春のクラウド設定サーバを使用する。 しかし、私はまだ残りのクライアント/サーバーを書くことは、これらのすべての技術を搭載していても非常に高価だと思います。安心してお休みいただけますか?何か使いやすいものはありませんか? – Pirulino

1

マイクロサービスは緊密に結合されているわけではありませんが、RMIはコードを両端で使用する必要があります。これは、アップグレードしたくないクライアント、つまりB!@ *!ファイアウォールを通過する。

あなたが残念なことにJavaに良いSoapスタックを持っていなかったと言われているもののほとんどがソープで解決されました。それは、特にWebページやjavascriptからサービスにアクセスするとき、Restには他の利点があると述べています。

3

私の会社では、JMSを使用して、マイクロサービススタックに "intern"通信スタックを追加しています。それは、信頼性が高く、使用が簡単で、効率的であり、非常に性能が良い。

実装ではApache ActiveMQを使用しますが、RabbitMQも広く使用されています。

+0

これは私が探していたものです。私たちはrabbitMQも使用しています。RPC実装(http://docs.spring.io/spring-amqp/reference/htmlsingle/#_message_correlation_with_a_reply_queue)がありますが、もっと良い解決法があるかどうかを理解しようとしていました。 これはhttp://www.grpc.io/でご覧になれますか? – Pirulino

+0

RPCツールとしてではなく、メッセージ交換(JMSの主な目標)として使用します。 RPCツールは、一般的にJMSが行う多くの質問には答えません。ネットワークが一時的にダウンしている場合はどうなりますか? 1つのインスタンスに対処する場合はどうなりますか?すべてのインスタンス?特定のクラスまたはタイプのインスタンス? JMSでは、これらのユースケースすべてに対処するのは本当に簡単です。RPCツールで簡単に行うことはできません。 RPC over JMSを行うことはできますが、アプリケーションをメッセージ駆動型アプリケーションとして設計する方が簡単かもしれません。 –

+0

また、[akka](http://akka.io/)を見ることもできます。これは、メッセージ駆動型アプリケーションを設計するための優れたツールでもあり、このユースケースで広く使用されています(内部マイクロサービス通信) –

関連する問題