

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 同期通信
<a name="synchronous"></a>

同期通信では、次の図に示すように、クライアントはサービスへのリクエストを開始します。例としては、`HTTP GET` リクエストなどの情報を取得するリクエストや、`HTTP PUT` リクエストなどのデータを変更するリクエストがあります。いずれの場合も、クライアントはサーバーが応答するのを待ってから続行します。同期呼び出しは、ほとんどのデベロッパーにとってよく知られており、実装とトラブルシューティングが容易で、多くの場合、通信で広く受け入れられている標準です。

![クライアントとマイクロサービス間、またはマイクロサービス間の同期通信。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modernization-integrating-microservices/images/synchronous-communication.png)


同期通信の利点は次のとおりです。
+ **予測可能なフローコントロール** – 非同期通信と比較して理解しやすい決定論的な実行と明確なリクエスト/応答サイクル。
+ **高い一貫性** — データの変更と状態の更新をすぐに確認できます。
+ **簡単なエラー処理** – エラーと例外を直接伝播します。
+ **簡単なデバッグ** — リクエストのトレースとモニタリングを簡単に行うことができます。
+ **プロトコルのサポート** – HTTP や REST などの確立されたプロトコルにより、実装が簡単になります。

同期通信には以下の欠点があります。
+ **密結合** — サービス相互の可用性に直接依存します。
+ **ネットワークへの影響** – 常時オープン接続によりネットワーク負荷が増大します。
+ **リソース使用率** – 接続状態を維持することによりメモリ使用量が増加します。
+ **カスケード障害** – 1 つのサービスの問題がシステムを通じて迅速に伝播する機能。