ITエンジニアは現実世界の物事をITシステムに例えがち。
先日はコンビニのレジ待ちをしているうちに「レジってキューメッセージの処理ワーカーだよなー」などと考えていた。
- 客はキューメッセージ
- 客の列の具合はキューのキャパシティ
- 特定メッセージの優先列運用を見かけた
- 家電量販店でポケモンカードゲームの専用列、予約商品専用列があった
- これは優先度が低いメッセージの例(レジ一つを占有する形を取っていた)
- セルフレジ専用列なんかもある
- これはワーカーも別だが
- 家電量販店でポケモンカードゲームの専用列、予約商品専用列があった
- レジの数はワーカーの数
- スケールアウトできる
- スケールしすぎるとメッセージの処理効率は落ちる
- 「こちらでも精算できます」と声をかけないとメッセージが処理されに来ないなど
- レジの性能や店員の熟練度はワーカーの処理性能
- スケールアップできる
- スケールアップには限界がある
- どんなにベテランの店員でも無限に高速かはされない
- 一部処理を別のワーカーに委譲
ざっと書き下してみたけれど、なかかなそれっぽい例えをできたのではないかなと思う。
落ちなし!