Skip to Content
クラウドネイティブアプリケーションのデザインパターン
book

クラウドネイティブアプリケーションのデザインパターン

by Kasun Indrasiri, Sriskandarajah Suhothayan
March 2025
Beginner to intermediate
314 pages
5h 8m
Japanese
O'Reilly Media, Inc.
Content preview from クラウドネイティブアプリケーションのデザインパターン

第2章. コミュニケーションパターン

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

クラウド ネイティブ・アプリケーションは、サービス間通信テクニックによって、外部システムだけでなく、互いに接続されたマイクロサービスの集合体で構成される。マイクロサービスの急増と増え続けるビジネス要件に伴い、クラウドネイティブアプリケーションではマイクロサービス間の堅牢性コミュニケーションを構築することが、クラウドネイティブアーキテクチャにおける最も困難な課題の1つとなっている。

この章では、クラウド・ネイティブ・アプリケーションの構築に使用できる通信パターンと実装技術について幅広く理解する。これらのパターンは、マイクロサービス、他の外部システム、モバイルアプリやウェブアプリなどのコンシューマアプリケーション間の通信を構築するために使用できる。この章では、主に同期通信と非同期通信の基礎となる通信パターンに焦点を当てる。

同期通信 では、あるマイクロサービスが別のマイクロサービスを呼び出し、特定の時間内にレスポンスを期待する。このために、リクエスト/レスポンスやリモートプロシージャコール(RPC)などのパターンを使用する。非同期通信 では、マイクロサービスは仲介者(メッセージブローカー として知られている)の助けを借りて非同期にメッセージを渡すことで通信し、キューベースのメッセージングやパブリッシャーサブスクライバーメッセージングを利用するパターンを使用する。実際のクラウド・ネイティブ・アプリケーションでは、これらの通信パターンを組み合わせて使うことができる。

これらの基本的な通信パターンに加えて、クラウドネイティブアプリケーションのマイクロサービスのサービスインタフェースの定義に関連するパターンも検討し、マイクロサービスのコンシューマが、同期または非同期の通信テクニックのいずれかを使って、サービスと対話する方法を知ることができるようにする。同期メッセージング・パターンから話を始めよう。

同期メッセージング・パターン

クラウド・ネイティブ・アプリケーションを構築するとき、あるマイクロサービスが1つ以上の他のマイクロサービスを呼び出し、そのビジネスロジックを完了させるためにタイムリーなレスポンスを待つ必要があることに気づくかもしれない。このようなマイクロサービスを構築するには、特定のマイクロサービスのビジネスロジックが1つ以上の他のマイクロサービスやシステムに依存する、同期メッセージングパターンを使用することができる。例えば、オンライン小売アプリケーションを構築する場合、構築するSearchマイクロサービスはクエリを受け付け、関連する下流マイクロサービスやシステムを呼び出してレスポンスを迅速に送信しなければならない。

クラウド・ネイティブ・アプリケーションに同期通信を組み込むには、複数のメッセージング・パターンを使うことができる。最もよく使われるパターンの1つに飛び込んでみよう:リクエスト/レスポンスだ。

リクエスト/レスポンスパターン

リクエスト/レスポンス・パターンは、クラウド・ネイティブ・アプリケーションだけでなく、広く分散コンピューティングの領域でも、おそらく最もよく使われるコミュニケーション・パターンだ。このパターンでは、両者がタイムリーに行動し、両者間でデータを受け渡す必要がある。

仕組み

リクエスト/レスポンスパターン(図2-1)では、1つのマイクロサービス(クライアントとして機能する)がリクエストを送信し、1つ以上の他のマイクロサービスやシステムからのレスポンスを待つ。クライアントアプリケーションのビジネスロジックはレスポンスを受信するまでブロックし、通信チャネルはクライアントアプリケーションがレスポンスを受信するまでオープンにしておかなければならない。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

データサイエンスのための数学入門 ―Pythonで学ぶ線形代数、確率、統計の基礎

データサイエンスのための数学入門 ―Pythonで学ぶ線形代数、確率、統計の基礎

Thomas Nield, 江川 崇
ソフトウェア工学の基礎

ソフトウェア工学の基礎

Nathaniel Schutta, Dan Vega

Publisher Resources

ISBN: 9798341626409