本文へスキップ
ホーム

検索

 
 
 
Header (Main)
産業
モビリティ モビリティ
自動車
自動車の電動化

自動車の電動化

エクスペリエンス
航空宇宙工学
自動分析により、大手グローバル航空会社の航空機のダウンタイムと間接費を最適化

自動分析により、大手グローバル航空会社の航空機のダウンタイムと間接費を最適化

エクスペリエンス
鉄道輸送
軌道検査システム

軌道検査システム

エクスペリエンス
商用車およびレクリエーション車両
自律走行モビリティへの道

自律走行モビリティへの道

エクスペリエンス
オフハイウェイ車両
コネクテッド・モビリティへの道ER&Dの視点

コネクテッド・モビリティへの道ER&Dの視点

エクスペリエンス
AIはモビリティの次の時代をどう牽引するか

AIはモビリティの次の時代をどう牽引するか

エクスペリエンス
持続可能性 持続可能性
ディスクリート製造業および産業用製品
建築技術とスマートインフラストラクチャー
電力と制御
産業機械
未来の工場」で製造業の未来を切り開く

未来の工場」で製造業の未来を切り開く

エクスペリエンス
プロセス製造
石油・ガス
化学薬品
FMCG
ISG Provider Lens™ 2024:石油・ガス産業のサービスとソリューション

ISG Provider Lens™ 2024:石油・ガス産業のサービスとソリューション

エクスペリエンス
エージェントAI:企業が待ち望んでいた変革的AI?

エージェントAI:企業が待ち望んでいた変革的AI?

エクスペリエンス
テクノロジー テクノロジー
ハイテク
家庭用電気製品
メディアとエンターテインメント
次世代コミュニケーション
半導体
L&Tテクノロジーサービス、グローバル・ネットワーク・プロバイダーから戦略的パートナーとして5,000万ドルの契約を獲得

L&Tテクノロジーサービス、グローバル・ネットワーク・プロバイダーから戦略的パートナーとして5,000万ドルの契約を獲得

エクスペリエンス
MedTech
NVIDIAとの協業によるソフトウェア定義イノベーションで内視鏡検査に革命を起こす

NVIDIAとの協業によるソフトウェア定義イノベーションで内視鏡検査に革命を起こす

エクスペリエンス
公共インフラとスマートシティ
統合スマート監視プロジェクト

統合スマート監視プロジェクト

エクスペリエンス
ソフトウェアとプラットフォーム
LTTS & SymphonyAI、AIによる変革を提供

LTTS & SymphonyAI、AIによる変革を提供

エクスペリエンス
サービス
デジタルエンジニアリング デジタルエンジニアリング
人工知能
サイバーセキュリティ
セキュリティ監視
セキュリサービス
セキュリティソリューション
没入型体験
インダストリー4.0
製品コンサルティング
サステナビリティエンジニアリング
持続可能なスマートワールド
5G
AIによる製品開発ライフサイクルの加速

AIで製品開発のライフサイクルを加速する

エクスペリエンス
製品エンジニアリング 製品エンジニアリング
ソフトウェアンジニアリング
クラウドエンジニアリング
DevOps
エンジニアリング分析
没入型体験
物質とメンテナンス
ユーザーエクスペリエンス
音声イノベーション
組み込みエンジニアリング
組み込みシステム
サステナンス
VLSI
ウェアラブルエンジニアリング
機械設計
CAEおよびCFD
Caxオートメーション
試験および検証
統合設計、検証、試験
サービスとしてのラボ
テスティング
テストのパラダイムシフトを可能にする LTTS AIの視点

テストのパラダイムシフトを可能にする LTTS AIの視点

エクスペリエンス
製造エンジニアリング 製造エンジニアリング
スマートマニュファクチャリング
オペレーションの加速
デジタルファクトリとエンジニアリング
工場設計とエンジニアリング
サプライチェーンエンジニアリング
ソーシングと調達
製造と計画
オペレーションの加速
デジタルファクトリーとシミュレーション
ライン拡張と移管
製造自動化
新製品開発
工場設計とエンジニアリング
クラウドPLM
製造実行
アジャイルサプライチェーン
コンテンツエンジニアリング
材料および部品管理
ソーシングと調達
サプライチェーン・マネジメントにおける人工知能

サプライチェーン・マネジメントにおける人工知能

エクスペリエンス
プラントエンジニアリング プラントエンジニアリング
CAPEXプロジェクト E/EPCMサービス
オペレーショナルエクセレンス
プラント維持管理
材料および部品管理
規制遵守エンジニアリング
LTTSのデジタル・ツイン・ソリューションに関するARCアドバイザリー・グループの見解

LTTSのデジタル・ツイン・ソリューションに関するARCアドバイザリー・グループの見解

エクスペリエンス
ソリューション
AiCE
AiKno®
AnnotAI
ARC
資産健全性フレームワーク
CHEST-rAi™
コネクテッドセキュリティ
EDGYneer
ESM
EvQUAL
FlyBoard®
フュージョン
i-BEMS
Nliten
nBOn
PSM
SafeX
半導体IP
センサーとゲートウェイソリューション
UBIQWeise 2.0
インサイト
アナリストレポート
ブログ
パンフレット
ケーススタディ
電子書籍
イベント
ポッドキャスト
PoVs
ホワイトペーパー
採用情報
会社情報
受賞歴
提携企業
アナリスト
取締役会
CSR
使命を持ったエンジニア
変革をエンジニアリングします
投資家の皆様へ
最寄りのセンター
ニュースとメディア
品質管理
コーポレートサステナビリティ
お客様の声
お問い合わせ
Header (Secondary)
Search
Mail
  • English
  • Deutsch
  • 日本語
お問い合わせ

パンくず

  1. ホーム
  2. Blogs
  3. マイクロサービスにおける最終的な一貫性

マイクロサービスにおける最終的な一貫性

アシュウィン・アトリ
アシュウィン・アトリ

デジタル・プロダクト・サービス部門シニア・スペシャリスト

公開日10 Aug 2020

最小読み取り時間

351

ビュー

マイクロサービスにおける最終的な一貫性

私たちの多くは、何らかの形で、ソフトウェア・システムにおけるデータの不整合問題を経験したことがあると思う。例えば、お金を引き出すためにATM機を操作していると、様々な理由で取引に失敗することがよくある。ATMマシンは通貨を払い出さないかもしれないが、口座の残高引き落としが表示されるかもしれない。顧客がシステムに障害を報告すると、銀行は通常、誤った取引記録を解決するのに60分から24時間かかると回答する。これは、ATMと銀行のサーバーが短時間同期していない典型的なデータ不整合のケースである。

携帯電話アプリを使った請求書支払いのケースを見てみよう。ユーザーが支払いを開始すると、アプリは銀行のインターフェースに安全に接続し、支払いが処理され、支払いを確認するために加盟店のインターフェースに引き渡される。この時、加盟店のウェブサイトが利用できないとしよう。この場合、アプリのサーバーが加盟店のインターフェイスと同期するまでのしばらくの間、取引は未完了のままとなる。

上記のどちらのケースでも、データの不整合はシステムの特定の部分が利用できない、サービスが応答しない、ネットワークに起因するエラーなどによるものであり、これらの要因は大規模な分散ソフトウェアシステムでは非常に一般的であることに注意してください。このような要因は、大規模な分散型ソフトウェア・システムにはよくあることです。システムは最終的には一定期間をかけて一貫性を確立しますが、シームレスで手間のかからないエンドユーザー体験は確実ではありません。

マイクロサービス

ソフトウェア・アーキテクチャを構築するマイクロサービス・スタイルは、ソフトウェアの各サービス/機能が高度に独立し、特定のビジネス境界または定義されたコンテキストを持ち、他のサービスの存在を知っていても知らなくてもよく、独自のデータを管理することができ、異なる保存メカニズムを使用することができ、異なるプログラミング言語で作成される可能性があり、別々のチームによって保守される分散型アプローチを採用している。

マイクロサービス・アーキテクチャは分散型アプローチを採用しており、自然界から多くのインスピレーションを得ている。マイクロサービスは、巨大な企業システムを構築するための一般的な選択肢となっている。クラウド、エラスティックなコンピューティングとストレージ、コンテナ技術とオーケストレーション・メカニズムの出現により、マイクロサービス・アーキテクチャ・スタイルを使ったアプリケーションの構築が急増している。

マイクロサービスと最終的な一貫性

マイクロサービス・アーキテクチャが分散型データ・アプローチを強く提唱しているおかげで、システムに最終的なデータの一貫性がもたらされることは、もうお分かりかもしれない。しかし、モノリシックなソフトウェア・アーキテクチャがこれらの問題にシームレスに対処していると考えるのは賢明ではない。モノリシック・ソフトウェア・アーキテクチャにはそれなりの危険性があるのだ。

したがって、マイクロサービス開発者はこれらの問題を考慮し、最終的なデータの一貫性に忍び寄る可能性のある課題を認識しておくことが不可欠です。以下に挙げるテクニックは、マイクロサービスにおける最終的な一貫性の管理に役立ちます。

Sagaパターン

複数のサービスにまたがるトランザクションは、各サービスレベルで単純なアトミックローカルトランザクションのサガ/チェーンとして捉えられる。従って、あるサービスがそのトランザクションを完了しコミットすると、次のローカルトランザクションをトリガーするイベント/メッセージをチェーン内の次のサービスに通知する、といった具合である。このチェーン内の1つのトランザクションが何らかの理由で失敗した場合、基本的にはチェーン内で後方に来る取り消し操作がトリガーされる。そのため、アーキテクチャを設計する際には、パターンの失敗に対処することが不可欠である。

Sagaパターンは、最終的な一貫性の問題には対処しているが、大規模な分散アーキテクチャよりも小規模な分散アーキテクチャに適している。設計者は、補償コールやトランザクションが失敗する可能性も考慮する必要がある。したがって、よりシンプルで小規模な分散アーキテクチャに適している。

変更データ・キャプチャー(CDC)

CDCはデータ・ウェアハウスで広く実践され、根付いているが、トランザクションが一貫性を持ってサービスにまたがることを保証するために、マイクロサービス設計に効果的に採用することができる。

基本原則は変わらない。ローカルトランザクションがローカルDBにコミットした後、サービスは変更キャプチャレコードを作成する別プロセスをトリガーし、変更キャプチャレコードを次のサービスに伝搬する。このサービスは、前のサービスから変更キャプチャレコードを受け取り、それを処理し、ローカルDBにコミットし、その中の別のプロセスで、独自の新しい変更キャプチャレコードを作成し、次のサービスのセットに伝播します。

このように、オーケストレーションに大きな負担をかけることなく、すべてのサービスが同期するまで、この変更キャプチャレコードを分散サービスを通じて伝播することができる。

マイクロサービスでCDCを実装する方法:

データベースのトランザクションログを使う: 多くのデータベースは操作ログとトランザクションログを提供している。これらのログの内容をスキャンし、変更を解釈することで、データベースに加えられた変更を特定することができる。これは次のサービスに伝搬される変更キャプチャ記録となる。

Kafka ConnectとApache Kafkaを使う:サービス内で行われたDBの変更は、Kafkaコネクターにフックすることができる。

CDCは一般的に、大規模な分散アーキテクチャスタイルに適している。パフォーマンスが重くなく、スキーマに余分な変更を加えることなく簡単に有効にできるからだ。CDCは本質的にレイテンシーが低く、ダウンストリームデータベースが変更を素早く追跡できる。サービスによって受信された変更フィードに対してストリーム処理を実行する可能性もある。

しかし、設計者がCDCに感じている最も重要な欠点は、サービスのスキーマを柔軟に変更できないことである。これはサービスDBのスキーマの進化をある程度阻害する。あるサービスでスキーマを変更すると、下流のすべてのサービスで変更が引き起こされる。

この2つの方法以外にも、クラウド・インフラ・プロバイダーが実装しているCDCによってデータ同期を実現する方法がいくつかある。

ベース対アシッド論争

データの一貫性と統合を達成するための2つの一般的なアプローチとその欠点を見てきましたが、次にデータの一貫性の問題を見るための全く新しい視点とパラダイムについて考えてみましょう... 「矛盾を受け入れる」 - すべてのソフトウェア・システム/システムの一部が、常にデータを同期させ、一貫性を保つ必要があるわけではありません。ATMでお金を引き出す例に戻ってみよう。私たちは皆、ここでデータの不一致を受け入れ、システムが一定期間一貫性を持つようになるのを待っている。

多くのビジネス・システムは、通常考えられているよりもデータの不整合に寛容である。というのも、企業はサービスの可用性を 重視し、収益を上げているため、 多くのエンタープライズ規模のシステムで ACIDよりも BASEを優先させるという議論が長く続いている。

BASE とは、Basically Available (基本的に 利用可能)、Softstate(ソフトな状態)、EventualConsistency(最終的な一貫性)の頭文字をとったものである。

ACIDとは、Atomicity(原子性)、Consistent(一貫性)、Isolated(分離)、Durable(耐久性)の頭文字をとったもの。

これは、分散データストアが次の3つの保証のうち2つ以上を同時に提供することは不可能であるという、よく知られたCAP定理と一致している。Consistency(一貫性)、Availability(可用性)、Partitiontolerance(分割耐性)。

従って、ソフトウェアシステムは常にACIDよりもBASEを、あるいはその逆を必要に応じて選択し、システムの一部の一貫性を保つ。

この記事に関するコメント、フィードバック、質問など、お気軽にお寄せください。

関連ブログ

航空宇宙工学におけるAI導入の拡大
航空宇宙工学におけるAI導入の拡大
航空宇宙工学におけるAI導入の拡大
すべてを閲覧する

私たちとの関連性を保つ

ブログを購読する

アシュウィン・アトリ
アシュウィン・アトリ

デジタル・プロダクト・サービス部門シニア・スペシャリスト

アシュウィン・アトリは、大規模な分散型ソフトウェアシステムのアーキテクトと構築に豊富な経験を持つ上級管理職。医療、ライフサイエンス、家電、電気通信、産業用ソフトウェアなど、さまざまな分野で13年以上の国際的な経験を持つ。

現在はL&T Technology Services (LTTS)のデジタル・プラクティス・リード(マイクロサービス担当)として、クラウド導入、IoT、レガシーシステムのモダナイゼーションのためのマイクロサービスに焦点を当てた複数のデジタルトランスフォーメーション・プロジェクトを推進している。

Footer Navigation
  • 産業
    • モビリティ
      • 航空宇宙工学
      • 自動車
      • 鉄道輸送
      • トラックおよびオフハイウェイ車両
    • 持続可能性
      • ディスクリート製造業および産業用製品
      • プロセス製造
    • テクノロジー
      • 家電製品
      • MedTech
      • メディアとエンターテインメント
      • ネクスジェンコミュニケーションズ
      • 半導体
      • ソフトウェアとプラットフォーム
      • 公共インフラとスマートシティ
  • サービス
    • デジタルエンジニアリング
      • 人工知能
      • サイバーセキュリティ
      • セキュリティ監視
      • セキュリティソリューション
      • セキュリサービス
      • 没入型体験
      • インダストリー4.0
      • 製品コンサルティング
      • サステナビリティエンジニアリング
      • 持続可能なスマートワールド
      • 5G
    • 製品エンジニアリング
      • CAEおよびCFD
      • CAxオートメーション
      • ソフトウェアンジニアリング
      • クラウドエンジニアリング
      • DevOps
      • 組み込みシステム
      • エンジニアリング分析
      • 統合設計、検証、試験
      • サービスとしてのラボ
      • サステナンス
      • テスティング
      • 試験および検証
      • ユーザーエクスペリエンス
      • VLSI
      • 音声イノベーション
      • ウェアラブルエンジニアリング
    • 製造エンジニアリング
      • オペレーションの加速
      • アジャイルサプライチェーン
      • コンテンツエンジニアリング
      • デジタルファクトリーとシミュレーション
      • ライン拡張と移管
      • 製造自動化
      • 新製品開発
      • クラウドPLM
      • 工場設計とエンジニアリング
      • ソーシングと調達
    • プラントエンジニアリング
      • CAPEXプロジェクト E/EPCMサービス
      • 材料および部品管理
      • オペレーショナルエクセレンス
      • プラント維持管理
      • ソーシングと調達
      • 規制遵守エンジニアリング
  • 変革をエンジニアリングします
  • 採用情報
  • 使命を持ったエンジニア
  • 求人
  • ソリューション
    • AiCE
    • AiKno®
    • AnnotAI
    • ARC
    • 資産健全性フレームワーク
    • CHEST-rAi™
    • コネクテッドセキュリティ
    • EDGYneer
    • ESM
    • EvQUAL
    • FlyBoard®
    • フュージョン
    • i-BEMS
    • LTTSiDriVe™
    • Nliten
    • nBOn
    • PLxAI
    • PSM
    • SafeX
    • 半導体IP
    • センサーとゲートウェイソリューション
    • UBIQWeise 2.0
  • 会社情報
    • 受賞歴
    • 提携企業
    • ブログ
    • 取締役会
    • CSR
    • イベント&ウェビナー
    • 投資家の皆様へ
    • メディアキット
    • 最寄りのセンター
    • ニュースとメディア
    • 品質管理
    • コーポレートサステナビリティ
    • お客様の声
LTTS
  •  Twitter
  •  LinkedIn
  •  YouTube
  •  Facebook
  •  Instagram
  • 著作権と利用規約
  • プライバシー
  • サイトマップ
  • info@ltts.com

© 2025 L&T Technology Services Limited. All Rights Reserved.