※ 本記事は、個人の学習メモとして書き留めたものです。
体系的・網羅的に整理した内容ではなく、誤りを含む可能性があります。
❓は 用語などchatGPTで解説させたもので出展がない場合があります。
題材『ソフトウェアアーキテクチャの基礎』
11章 パイプラインアーキテクチャ
「パイプとフィルター」アーキテクチャとしても知られている
📝用語・内容メモ
トポロジー:パイプとフィルターで構成
パイプはフィルター間の一方通行の通信を形成し、一般的にP2P方式で行われる
一般的には中央サーバーを介さず、複数の端末(ピア)同士が対等な立場で直接通信・データ共有を行う方式を指す。
一方、パイプラインアーキテクチャで言う P2P は、
「各処理要素(フィルタ)が対等な立場で、パイプを通じて直接つながっている」
という 構造上の性質 を表しています。
ネットワーク分野のP2P(BitTorrentなど)とは 文脈が違う ので注意が必要。
パイプ
パイプはフィルター間の通信チャンネルを形成。
データ形式は決まっていないが、高パフォーマンスのために少量データが好まれる。
フィルタ
4種類
- プロデューサー ... 開始点。出力のみ、別名”ソース”
- トランスフォーマー(変換器) ... 処理、map
- テスター ... 1つ以上の基準について検査、オプションによる出力を生成、reduce
- コンシューマー ... パイプラインフローの終了点(UI表示やDBに永続化など)
パイプとフィルターそれぞれの一方向性とシンプルさは、構成の再利用を促す。
事例
EDIツールやETLツールなど
データの変換、データベース間の流れや変更に活用される。
評価
こちらもモノリシックなアーキテクチャスタイルとしての特徴をもつ(分散アーキテクチャの課題を持たない)。
シンプルで扱いやすく、構成・維持のコストも比較的低い。
複雑なものには向かない。
感想
現場やブロックチェーン、基本情報で聞いた懐かしい用語もちらほら。 さくっと読んだ