読者です 読者をやめる 読者になる 読者になる

なぜsocket.ioとredisを一緒に使うサンプルが多いのか

socket.io

はじめに

以前にsocket.ioを使う機会があったのだが、なんでredisと一緒に使うのかわからないって聞かれることがいくつかあった。
ネットで調べると確かにコレつかってるサンプルや解説が多い

で、なぜ使うのか

確かに試しに使ってみる分には必要ないので最初わかりずらいこともあるのかと思った。
自分も最初に調べてる時にちょっとわからなかったのですがスケールアウトさせるときにこういう構成にしておく必要があるようでした

ある程度の規模になるとnode.jsサーバを1つでなくて2つ3つと増やしていくことがあると思います。
で、たいていチャットとかのサンプルが多いと思うのですが、クライアントからemitされたときに他の接続中のクライアントにemitするっていう処理になると思います。
が、この場合にnode.jsサーバが2つ以上あるとサーバ1でemitされた場合に、そのままだとサーバ2ではその通知を受けたことを知る仕組みが必要になります。
そのサーバ同士でやりとりするときにredisを仲介するってことのようでした

結局、僕が担当した案件ではそこまで負荷もないだろうってこと実業務ではやらなかったので説得力ないのですが、、、
次回実際に構築してメモしていければと思います

ということで同じような疑問を持たれた方がもしいたら参考になればうれしいです
以上です