2016-06-14 6 views
0

Microservicesを構築する際に特定の通信プロトコルを選択するベストプラクティスは何ですか?通信技術の観点からMicroservices APIを構築する際のベストプラクティスは何ですか?

たとえば、MySQLのマイクロサービスを構築するときは、ネイティブのMySQL接続を使用するか、RESTなどでラッピングAPIを使用する必要がありますか?

第2に、マイクロサービス間のすべてのやり取りについて、REST、JSON-RPCなどのような単一のプロトコルを選択して使用する必要がありますか?

ありがとうございます!

答えて

2

できるだけ少ないレイヤーを使用してください。必要がない場合は、MySQLの上でREST APIを実行しないでください。できるだけシンプルにしてください。

言われているように、マイクロサービス間のRPCを避けるようにしてください。代わりにメッセージングを使用して、サービスを自立させることができます。私たちは、それらが実行されていないかもしれないサービスに依存することを望んでいません。限定されたコンテキストを定義し、これらの境界内にマイクロサービスを配置し、特定のビジネス問題の所有者にします。

から、1つのマイクロサービスごとに必要なストレージ、プロトコル、セキュリティなどを選択できます。おそらく、メッセージングシステムが単一のオプションを選択する方が簡単です。必須ではありませんが、ゲートウェイをどこからでも変換する必要はありません。

+1

+ 1 ...マイクロサービス間のRPCを回避してください。代わりにメッセージを使用してサービスを自立させることができます* –

+3

MicroServices(Fowler)の正式な定義によれば、あなたの感想に100%同意する一方で、マイクロサービス間の通信は**実際には* "...軽量メカニズム、しばしばHTTPリソースAPI" *。これはマイクロサービスとSOAを区別するIMOの1つです。 –

関連する問題