64k以上のWebソケットを処理できるアーキテクチャを設計しようとしています。
私たちは最初にAmazon ELBを試しましたが、その設計では、トラフィックやWebSocketの予期しないスパイクは許可されていません。(TCPモードでWebSocketが予期せずタイムアウトする)
HAProxyではこれらの制限は適用されませんが、HAとバックエンドサーバー間で維持される〜64kのWebソケットに制限されます。
頭に浮かんだ複数のソリューション:
- 複数のHAProxyインスタンス、DNSによる負荷分散(Route53には加重オプションがあります)
- Keepalived、複数の内部IPアドレスを持つ2つのHAProxyインスタンス(実行可能かどうかは不明)
これを行うより良い方法はありますか?
1
なぜ64k制限なのですか?送信元ポートのものですか?その場合はあなただけの別のポートにバインドされているバックエンドにより「サーバ」を追加することができます...
—
カイルブラント
@ Bastien974、最も簡単な方法は、バックエンドに異なるソースIPを使用し、130K接続にスケーリングすることです。2つのIPとtw_reuse sysctlオプションを使用しました
—
c4f4t0r