
106
下する
●
複数のサービス間で、マスタデータなどのデータ共有の問題が発生
する
●
適切なサービス分割は難しく、アーキテクチャの設計難易度が高い
分割するか、否か
さて、モノリシックアーキテクチャとするか、分散アーキテクチャと
するかの、最初の判断ポイントの話に戻りましょう。
分散アーキテクチャには様々なメリットがある一方、複数のサービス
に分割することでシステムに新たな複雑性がもたらされます。分散アー
キテクチャのデメリットの多くはこれに起因するものです。
ですから、モノリスで十分な場合はあえてサービスに分割する必要は
なく、モノリシックアーキテクチャを選択すれば問題ありません。小規
模なシステムの多くはモノリスとして構築するのが妥当ではないでしょ
うか。
モノリシックアーキテクチャのデメリットから生じる実害が、許容で
きないレベルであると想定される場合には、分散アーキテクチャを検討
することになります。
実際のところ、ある程度の規模や複雑性のシステムとなると、何らか
のサービス分割が必要となると思います。たとえば、従来の業務システ
ムでも、オンライン処理とバッチ処理は分かれていることが多いでしょ
う( 図3.3.1)。この分割にはいくつかの理由が考えられます。
まず、オンライン処理とバッチ処理では処理特性に大きな違いがあり
ます。バッチ処理はその名前のとおりたくさんのデータを一気にまとめ
て読み書きをしますので、メモリやIOのリソースを多く使います。一
方オンライン処理は、個々の処理が扱うデータ量は多くないものの、複 ...