type
status
date
slug
summary
tags
category
icon
password
 

理論

1. 分散システムにおけるデータ整合性

分散システムは、複数のコンポーネントが協調して動作するため、データの一貫性(整合性)を維持するのが難しくなります。特に、データが複数の場所に保存されている場合(例えば、DynamoDBと他のストレージサービスに保存されている場合)、そのデータを削除したり更新したりするときに、整合性をどのように保つかが重要な課題です。
  • 最終的整合性は、データが全てのシステムに伝播され、最終的に一貫性が保たれることを意味します。しかし、即時の整合性が必要な場合、どのように効率的にデータの削除や更新を反映させるかを設計することが求められます。

2. イベント駆動型アーキテクチャとその利点

本質的なアーキテクチャ的なアプローチとして、イベント駆動型アーキテクチャが挙げられます。イベント駆動型システムでは、各マイクロサービスが独立して動作し、状態の変更(イベント)をトリガーとして、他のサービスが適切に反応します。
  • イベントは状態の変化を示し、それをトリガーとしてサービス間の連携を行います。このアーキテクチャのメリットは、システム間の結合度を低く保ちながら、状態同期を効率的に行える点です。
  • 例えば、ユーザー情報の削除イベントが発生した場合、それを通知するメカニズム(SNSやEventBridgeなど)を使用して、他のマイクロサービスがそのイベントを受け取って自動的に処理を実行します。これにより、各サービスは独自にデータを管理しつつ、必要な時にデータの変更を即座に反映できます。

3. 削除処理の即時性と一貫性

ユーザー情報削除の要求に対して、即座にそのデータを削除する必要がある場合、その削除処理を複数のサービス間で同期させるための手段を考える必要があります。特にプライバシーやセキュリティの観点から、削除漏れや遅延が発生することは許容されません。
  • 削除の即時反映: 一度削除操作が行われたら、関連するすべてのマイクロサービスでその情報が即座に消去されることが求められます。この要件は、特に個人情報の削除データプライバシー法に基づいて重要な要素となります。

4. AWSサービスの役割と選択肢

AWSは、イベント駆動型アーキテクチャを実現するための様々なサービスを提供しています。以下にそれらの役割を説明します。
  • DynamoDB Streams: DynamoDBのデータ変更をリアルタイムでキャプチャし、これを他のサービスに通知することで、削除イベントを他のシステムに即座に伝え、データの一貫性を確保します。
  • SNS(Simple Notification Service): SNSは、発生したイベントを複数の購読者(マイクロサービス)に通知するメッセージブローカーです。複数のサービスがこの通知を受けて処理を行い、データの削除を反映します。
  • EventBridge: より柔軟で複雑なイベントルールを作成できるサービスで、削除イベントをカスタムイベントバスを使ってシステム全体に伝達することが可能です。

5. 「即時削除」の要件を満たすためのアーキテクチャ的選択

本質的な考え方として、削除処理の即時性とデータの整合性を保証するために、以下の要素が重要です。
  • リアルタイムでのイベント通知: ユーザー削除イベントを即座に他のサービスに通知すること。これにより、削除されたデータの情報が即座に他のサービスにも伝わり、削除処理が行われます。
  • 非同期処理の活用: 削除イベントは非同期に処理されることが多いため、削除の通知が他のサービスに伝わった後、各サービスはそれを受けて非同期に削除処理を実行します。この方式により、負荷を分散しつつ、全体の一貫性を保つことができます。

結論

本質的な理解は、データ整合性を保ちつつ、複数のサービス間で即座にデータの削除を反映させるためには、イベント駆動型のアーキテクチャを採用し、AWSのサービスをうまく組み合わせることが必要であるという点です。削除処理のリアルタイム性を担保し、セキュリティやプライバシーの観点からも適切な処理が行えるように設計することが求められます。

実践

一問道場

問題 #166の要点
配送会社がAWSクラウドでサーバーレスソリューションを運用しています。このソリューションは、ユーザーデータ、配送情報、過去の購入履歴を管理しています。ソリューションは複数のマイクロサービスで構成されています。中央のユーザーサービスは、機密データをAmazon DynamoDBテーブルに保存します。他の複数のマイクロサービスは、機密データの一部をさまざまなストレージサービスにコピーして保存します。
会社は、リクエストに応じてユーザー情報を削除できる機能を必要としています。中央のユーザーサービスがユーザーを削除した際、他のすべてのマイクロサービスは、即座にそのデータのコピーを削除しなければなりません。
この要件を満たすソリューションはどれですか?
  • A. DynamoDBテーブルでDynamoDB Streamsを有効にし、DynamoDBストリームにAWS Lambdaトリガーを作成して、ユーザー削除に関するイベントをAmazon Simple Queue Service(Amazon SQS)キューに投稿します。各マイクロサービスはキューをポーリングして、DynamoDBテーブルからユーザーを削除します。
  • B. DynamoDBテーブルでDynamoDBイベント通知を設定し、Amazon Simple Notification Service(Amazon SNS)トピックをDynamoDBイベント通知のターゲットとして作成します。各マイクロサービスはSNSトピックにサブスクライブし、DynamoDBテーブルからユーザーを削除します。
  • C. 中央のユーザーサービスがユーザーを削除する際に、カスタムのAmazon EventBridgeイベントバスにイベントを投稿するように設定します。各マイクロサービスは、ユーザー削除イベントパターンに一致するEventBridgeルールを作成し、マイクロサービス内のロジックを呼び出して、DynamoDBテーブルからユーザーを削除します。
  • D. 中央のユーザーサービスがユーザーを削除する際に、Amazon Simple Queue Service(Amazon SQS)キューにメッセージを投稿するように設定します。各マイクロサービスはSQSキューでイベントフィルターを作成し、DynamoDBテーブルからユーザーを削除します。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
167-AWS SAP AWS 「理論・実践・一問道場」HTTP/HTTPSベースの処理ALBに固定IP165-AWS SAP AWS 「理論・実践・一問道場」APIとファイルGETWAY
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
02-生成AIパスポート試験対策:第2章「生成AI」
2025-2-1
01-生成AIパスポート試験対策:第1章「人口知能」
2025-2-1
究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
2025-1-27
不要再傻傻的直接买NISA啦
2025-1-27
Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
2025-1-24
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
2025-1-22
公告
🎉欢迎访问我的博客🎉
- 感谢您的支持 --
本站点于2024/09/01建立
👏主要分享IT相关主题👏
系统管理:
Redhat…
容器和编排:
Kubernetes、Openshift…
云计算:
AWS、IBM…
AI入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签