マイクロサービスはサービスを細かい機能単位に分割して実装する設計・開発手法である。機能単位に分けておけば改修による影響範囲を小さくできる。ビジネスの変化に追随してシステムを頻繁に変更しなければならないDX(デジタルトランスフォーメーション)の実現にも有効だ。 ただしマイクロサービスはアプリケーション全体から見てデータの整合を取るのが難しい。API(アプリケーション・プログラミング・インターフェース)によって他のサービスとデータをやり取りするため、サービス間で通信遅延が発生したり、エラーが発生したりする可能性を考慮した設計にしなければならないからだ。 そこで冪等性と結果整合性が重要になる。冪等性は同じ処理を何度繰り返しても同じ結果を得られることだ。リトライ処理で2重送金などを防ぐために必要だ。一方の結果整合性は「最終的に整合が取れた状態にする」ことを指す。 日立製作所 システム&サービスビジ