第8章. アーキテクチャのデザインとパターン
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、 アーキテクチャ設計とパターンの世界に飛び込む。これらのモデルとパターンは、最新のソフトウェア・システムのバックボーンを形成している。この章では、これらの設計が、多様なアプリケーションにおいて、どのようにスケーラビリティ、保守性、効率的なデータ処理をサポートしているかを探る。この章は、理論的な基礎を身につけるだけでなく、システム設計の努力における実践的な応用と革新を促すだろう。
データアーキテクチャの重要なテクニックである 変更データキャプチャ(CDC)は、データベース内のデータに加えられた変更をキャプチャするために使用される。次に、非同期通信パターンの領域に進み、パブリッシャーがサブスクライバーの身元を知ることなくイベントを発行する、パブ/サブアーキテクチャについて議論する。メッセージブローカーやメッセージキューが、システム間のデータフローをどのようにマネージしているかを見ていく。高スループットの分散メッセージングシステムであるApache Kafkaに焦点を当て、そのアーキテクチャと大規模データストリームを扱うための使用例を説明する。
分散システムでは、サービス間のやり取りを管理することが重要である。この章では、最新のクラウド環境において、スケーラブルでレジリエンスに優れ、保守性の高いシステムを構築するための主要なアーキテクチャパターンを探る。コレオグラフィ(分散型)とオーケストレーション(集中型)の管理アプローチを比較し、それぞれが最も効果的なシナリオを検証する。続いてビッグデータアーキテクチャに移り、Lambda、Kappa、データレイクアーキテクチャなどの基本的なモデルと、巨大なデータセットを扱うための分散ファイルシステムであるHadoop分散ファイルシステム(HDFS)を取り上げる。また、モノリシック、N階層、マイクロサービス構造を比較しながら、アプリケーション・アーキテクチャについても見ていく。そして、イベント駆動通信システムを掘り下げ、リアルタイム・イベントに応答して、分離されたサービス間の通信をどのように可能にするかに焦点を当てる。
この章では、サーキットブレーカーのようなレジリエンステクニックからオーケストレーションのようなトランザクション戦略まで、必須のクラウドアーキテクチャパターンを紹介し、堅牢性あるシステム設計のための実践的なツールキットを提供する。本章のアーキテクチャパターンは、第III部で取り上げる様々なユースケースのシステムを設計するための青写真となる。
変更データの取得
CDC は、 データ統合への洗練されたアプローチで、ソースデータベースのデータの変更をリアルタイムで追跡し、キャプチャする。このメソッドは、他のデータベース、データウェアハウス、あるいはリアルタイム処理エンジンなど、さまざまな宛先に変更をプッシュする。CDCの本質は、組織のさまざまな部分に新鮮なデータを提供し、それによってすべてのシステムに最新の情報が反映されるようにする能力にある。
リアルタイムのデータ処理の必要性が、組織をCDC導入に向かわせる。データが石油のように貴重な時代において、最新のデータを持つことは、業務効率と意思決定能力を大幅に向上させる。従来のバッチ処理メソッドは、信頼性は高いものの、今日のペースの速いビジネス環境における即時性の要求を満たすことができない。バッチ処理には停止時間が必要であったり、データ抽出の際にシステム・パフォーマンスに影響を与えたりすることが多く、リアルタイム・レスポンスには適していない。 ...
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