データ指向のサービスメッシュを用いた、サービス指向アーキテク... ノート

データ指向のサービスメッシュを用いた、サービス指向アーキテクチャの制御

Airbnbは、マイクロサービスベースのアーキテクチャにおけるモジュール性を向上させるため、データ指向のサービスメッシュであるViaductを開発しました。従来のサービスメッシュは手続き指向であるのに対し、Viaductはデータに焦点を当て、GraphQLスキーマを中心的な構成原理として使用しています。このスキーマは、型、クエリ、ミューテーションを定義し、サービス間の依存関係をコンシューマーから抽象化します。Viaductにより、データコンシューマーは直接的な依存関係なしに、複数のマイクロサービスから情報にアクセスできるようになり、アーキテクチャが簡素化されます。中心的なスキーマは、APIとデータベーススキーマの変更を容易にし、データの俊敏性を高め、調整作業を削減します。Viaductは、派生データのためにサーバーレス関数を統合し、マイクロサービスの数と複雑さを最小限に抑えます。graphql-javaで構築されたこのシステムは、きめ細かいフィールド選択、データ可観測性、リクエスト内キャッシングなどの機能を提供します。GraphQLエコシステムのツールを活用し、AirbnbのAPIトラフィックの大部分を支えています。Viaductは、大規模なサービス指向アーキテクチャで蔓延しているスパゲッティのような依存関係グラフに関連する課題に対処します。データ指向のアプローチへの移行は、データアクセスを合理化し、システム全体の保守性を向上させることを目的としています。アーキテクチャはクリーンなスキーマから始まり、多数のコアエンティティを含むように成長しました。すでに本番環境にデプロイされているこのソリューションは、AirbnbがSOAを進化させることにコミットしていることを示しています。
CdXz5zHNQW_YzRZpul0zT.jpeg