近年、マイクロサービスアーキテクチャの普及により、多数の独立したサービスが緩やかに結合する大規模な分散システムが一般的になりました。単一の巨大なモノリシックシステムとは異なり、マイクロサービス間の通信はネットワークを介した通信が増え、より高度な設計が求められます。ここでは、同期通信と非同期通信の2つのサービス間通信を整理し、それぞれの特性、利点・欠点、適用場面を考察します。
同期通信
同期通信は、呼び出し元が応答を待ってから次の処理に進むもので、RESTがもっともよく使われる手法ですが、HTTP/2上でバイナリプロトコルを用いるgRPCもマイクロサービス間の通信では一般的に利用されます。