4章アダプタ
ここまでの章では、サイドカーパターンがどのように既存のアプリケーションコンテナを拡張し、強化するのかを見ました。また、アプリケーションコンテナが外部とやり取りする方法を、アンバサダコンテナがどのように変え、仲介するのかも見ました。この章では、シングルノードパターンの最後の1つである、アダプタパターンを取り上げます。アダプタパターンでは、他のアプリケーションが期待する定義済みのインタフェイスのルールを守ったままアプリケーションコンテナのインタフェイスを変えるために、アダプタコンテナを利用します。アダプタを使うことで、アプリケーションがどれも同じ監視インタフェイスを持つといったことが実現できます。あるいは、ログファイルがstdout
(標準出力)などの慣習に従った場所に常に出力されるようにできます。
現実のアプリケーション開発は、不均一で様々なものが混ざり合い成り立っています。アプリケーションのある部分はチーム内でゼロから書かれたものかもしれません。あるいはベンダによって提供されたものかもしれません。はたまたすでにコンパイル済みのバイナリを使うだけの、既製のオープンソースソフトウェアあるいは商用ソフトウェアかもしれません。このような不均一性によって、現実におけるアプリケーションは、書かれた言語もいろいろで、ロギングや監視などのサービスのルールもいろいろになります。
とは言え、アプリケーションを有効に監視し、操作するには、共通インタフェイスが必要です。各アプリケーションがメトリクスを様々なフォーマットやインタフェイスで提供しているのでは、可視化やアラートのためにメトリクスをすべて1箇所に集めるのは非常に難しくなります。ここがアダプタパターンが関連してくるところです。他のシングルノードパターンのように、アダプタパターンはモジュール化されたコンテナで構成されます。いろいろなアプリケーションコンテナがそれぞれ異なる監視インタフェイスを持っていても、アダプタコンテナがその不均一な部分を吸収し、一貫したインタフェイスを提供します。これによって、1つのインタフェイスだけをサポートしたツールをデプロイするだけでよくなります。 ...
Get 分散システムデザインパターン ―コンテナを使ったスケーラブルなサービスの設計 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.