pulpul 日本の試験

基本情報技術者 概念書 · システム構成要素

システム構成と信頼性設計

要点と定義

システム構成を考えるときは、処理をどこで実行するか、障害時にどう継続するか、記憶装置の容量や信頼性をどう確保するかを分けて捉えます。構成の名称だけでなく、平常時の処理方法と障害時の動きを確認することが判断の手掛かりです。

3層クライアントサーバシステムでは、画面表示を担うプレゼンテーション層、業務処理を担うファンクション層、データベースアクセス層を分けます。Webシステムでは、業務処理をサーバ側で実行し、クライアントは受け取ったHTMLに基づいて結果を表示します。業務処理を変更するとき、各クライアントに業務アプリケーションを配布する必要がない点も特徴です。HTMLは画面表示の記述に使われ、通常、業務処理そのものを記述して実行するものではありません。

冗長構成は、予備のシステムや装置を用意して、故障による影響を抑える考え方です。デュアルシステムは二つの系統で同じ処理を行い、結果を照合します。結果の一致によって処理の正しさを確かめやすくします。片方に障害が起きた後の継続方法と、処理結果を照合する仕組みは分けて理解します。

ホットスタンバイは、稼働系に障害が起きたとき、処理を待機系へ引き継ぐ構成です。通常時から複数サーバに処理を振り分ける負荷分散構成とは目的が異なります。引継ぎ後も処理能力を保ちたい場合、待機系にも相応の能力が必要です。

RAIDは複数の記憶装置をまとめ、記録方法によって速度や信頼性を高める技術です。ミラーリングは同じデータを複数装置に記録します。RAID 5はデータをブロック単位で複数装置に分散し、パリティも複数装置に分散して記録します。パリティはデータから計算される復元用の情報です。

スケールアウトはサーバを追加して処理を分散し、処理能力を高める方法です。独立して処理しやすい参照系の処理は複数サーバに振り分けやすく、この方法に適します。データ更新の整合性を複数の場所で保つ必要がある場合は、同期や整合性管理が負担になることがあります。

信頼性設計では、障害の影響をどう抑えるか、利用者の誤操作をどう防ぐかを考えます。フールプルーフは、誤操作を防いだり、誤操作が起きても異常につながらないようにしたりする設計です。障害時に安全に停止させる設計や、機能を制限して運転を続ける設計とは目的が異なります。

ミッションクリティカルシステムとは、障害が起きると企業活動や社会に重大な影響を及ぼすシステムです。これは性能限界に近いかどうかではなく、停止や障害が及ぼす影響の大きさによる分類です。

適用条件と例

たとえば、ブラウザから注文を受け付けるシステムでは、ブラウザが画面を表示し、サーバが注文の業務処理を行い、データベースアクセス層が注文データを読み書きする構成が考えられます。業務処理の変更をサーバ側に反映すれば、各端末にその処理用アプリケーションを配る必要を減らせます。ただし、端末側にも画面表示のためのソフトウェアは必要です。

複数のサーバへ閲覧要求を振り分ける構成は、サーバを有効活用し、参照処理の増加に対応しやすくします。一方、稼働系の障害時に処理を引き継ぐことを主眼にするなら、待機系を置くホットスタンバイが候補です。障害時の切替えを行う構成と、平常時の負荷を分散する構成を混同しないようにします。

同一処理を二系統で実行し結果を照合する方式は、二つの結果を比較できる業務に適します。待機系へ処理を切り替えるだけの方式では、二系統の実行結果を照合することにはなりません。

この節の続き

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

アプリでこの節を読む