pulpul 日本の試験

システムアーキテクト 概念書 · システム開発・アーキテクチャ

アーキテクチャパターンの種類

アーキテクチャパターンは、システム全体の構成や部品の分割、部品間の関係について、典型的な設計の枠組みを示したものである。デザインパターンがクラスやオブジェクトの組合せを扱うのに対し、アーキテクチャパターンはより大きな単位の構造や振る舞いの方針を扱う。試験では、各パターンの目的と仕組みを結び付けるとともに、関連する活動や技法との区別も問われる。

アーキテクチャパターンの役割

アーキテクチャパターンは、システムの変更しやすさや障害への強さ、再利用のしやすさといった品質を、構造の工夫によって高めることを目的とする。例えば、機能とユーザーインタフェースを分けておけば、どちらか一方の修正がもう一方へ広がりにくくなる。構造を分けるという考え方が、このパターン全体に共通する出発点である。

代表的なパターンの仕組み

MVCは、モデル、ビュー、コントローラに役割を分けるパターンであり、機能とヒューマンインタフェースとの相互依存を弱める。これにより修正性や再利用性が向上する。 レイヤーはシステムを階層に分割し、各層の役割や依存関係を整理するパターンである。 リフレクションは、ソフトウェアをメタレベルとベースレベルに分け、構造や振る舞いを動的に変更できる仕組みを提供する。 メタレベルは構造や振る舞いの記述を担い、ベースレベルはアプリケーションの処理を担う。

障害と横断的な関心事への対策

マイクロサービスでは、一つのサービスの障害が他へ連鎖しないように、呼出しを遮断する仕組みが必要になる。サーキットブレーカーは、失敗の回数が設定したしきい値を超えた場合に、障害が解消するまで障害先へのリクエストを送らない方式である。通常は一定時間後に試行的な呼出しを行い、回復を確認してから通信を再開する。 障害の影響範囲を局所化し、システム全体への波及を抑えることが、この方式の目的である。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む