What is Nostr?
のえる /
npub1vph…pvx9
2024-11-07 00:43:20
in reply to nevent1q…dk2u

のえる on Nostr: ...

さて、ある程度の大きさのサーバになったら、これらのプロセスを複数用意して、よりたくさんの処理を捌けるように構成する必要があります。

nginxは、pumaが複数あるときには、処理を分散して引き渡す役割を果たします。応答してこないpumaがあったら他に割り振ることで、全体が一度にダウンしないようにする安全を担保する役割も果たしています。

sidekiqは、元々小さなジョブに分割された処理を実行するエンジンなので、たくさんあれば、それだけ同時にたくさんの処理ができます。

ジョブは種類でわけられているので、種類別のsidekiqを立てて、役割を分割することができます。

一番大事なローカルユーザーに応答する処理と、リモートサーバに配送する処理、リモートサーバから受けたリクエストに対応する処理など、別々にわけることで、負荷が高くなったときに、どの処理を優先し、どの処理に処理能力を配分するか、調整することもできます。

nodeは、redisの発行と購読の仕組みのおかげで、プロセスをたくさん起動しても、分散して対応することができます。

redisは、役割に応じて3つまで分割できます。最近は、redisの冗長化機能も使えるようになったようです。
Author Public Key
npub1vphvuhqnz9a9ct3vengyz2mhsgtz7dkd2stxydfmkjeutrgfnm8q8mpvx9