データ志向アプリケーションデザイン 読書メモ1
1章 信頼性、スケーラビリティ、メンテナンス性に優れたアプリケーション
- とりあえずの勉強メモ
- 何を書けばいいのかわからない
- 続けるかは未定、メモ書くと集中できると思った時には再開する
用語メモ
- データストア
データストアとは、データを決められた形式で記憶装置などに永続的に保存・蓄積するソフトウェア、および、そのような機能・処理のこと。
- メッセージキュー
メッセージキューイングとは、異なるアプリケーションプログラム間で動作を連携させてデータを交換させる際の方式のひとつで、送るデータをキューと呼ばれるデータ領域に保持し、データを受ける側の処理が完了するのを待たずに次の処理へ移る方式のことである。
- 耐障害性を持つとは
- 全ての障害に対して耐性を持つことは無理
- 妥当なのはある種のフォールトに対する耐性について議論すること
- フォールトは障害と同じではない
- フォールトは仕様を満たしていないコンポーネントとして定義されるが、障害はシステムが全体として必要なサービスのユーザーへの提供を止めてしまった場合を指す
- 障害の可能性をゼロにすることは不可能
- 通常はフォールトが障害を引き起こさないような耐障害性の仕組みを設計する
- 多くの致命的なバグはエラー処理が貧弱なことによるもの
フォールトは回避しようとするよりも耐性を持つようにすることの方が望ましいもの、回復するより回避の方がいい場合もある
冗長性
余分なもの、余剰がある、重複しているという意味だが、IT用語としては、主に余裕のある状態、二重化など、ポジティブな意味合いで使われることが多い。
スケーラビリティに関して議論するには、システムの現在の負荷を簡潔に表現できるようにならなければならない
- 負荷が2倍になったら何が起こるだろう
負荷の最適なパラメータはアーキテクチャに依存する
- Web サーバーなら毎秒のリクエスト数
- データベースなら読み書きの比率
- チャットルームなら同時アクティブユーザー数
- キャッシュならヒット率
エラスティック
エラスティック コンピューティングとは、容量計画やピーク時の利用状況に合わせた技術的対応について心配することなく、コンピューターの処理リソース、メモリ リソース、およびストレージ リソースを、変わり続ける需要に合わせて急速に拡大または縮小する機能です。
エラスティック コンピューティングとは - 定義 | Microsoft Azure
わからなくて、今すぐ概要を理解したいと思った単語を調べた。
技術書読むときの集中する方法考えたいな・・・時間決めてやるか・・・