10章ワークキューシステム

バッチ処理の最も単純なかたちがワークキューです。ワークキューシステムには、処理されるワークアイテム(タスク)のかたまり(バッチ)があります。それぞれのワークアイテムは他のワークアイテムからは独立していて、処理する際に相互のやり取りはありません。ワークキューシステムのゴールは通常、一定時間内にそれぞれのワークアイテムを実行することです。ワーカは、ワークアイテムが処理されるよう、スケールアップしたりスケールダウンしたりします。一般的なワークキューの図が図10-1です。

一般的なワークキュー

図10-1 一般的なワークキュー

10.1 汎用ワークキューシステム

ワークキューは、分散システムパターンの強力さを示すぴったりの方法です。ワークキューのほとんどのロジックは実際に処理されるワークアイテムとは完全に独立していて、多くの場合ワークアイテムの生成元も独立しています。これを図示したのが、図10-1です。この図をもう1度確認して、ライブラリコンテナの集まりによって提供できる機能を探してみて下さい。すると、コンテナ化されたワークキューでは、多くの実装がいろいろなユーザによって共有できることが分かってきます。これを示したのが、図10-2です。

<span class="imgref"><a href="./ch10.xhtml#ddis_13in01">図10-1</a></span>と同じワークキューに再利用可能なコンテナを利用した例。再利用可能なシステムコンテナは白、ユーザが作成するコンテナはグレーで表示

図10-2 図10-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.