(かきかけ)つい先日、surgemqの速さについての記事「SurgeMQ: MQTT Message Queue @ 750,000 MPS」が製作者本人により書かれ自分の周りのTLではにぎわいを見せました。 現時点ではまだまだ未実装な点が多いsurgemqですがgoでこの速度を達成した、ということは驚異に値します。 nsqdが約10万msg/sec、私のgoのmqttサーバーが4万msg/sec、ということで普通にgoでああいったTCPサーバーを書くと何もしないとSingle Coreで1〜2万に行くのがやっとこなはずなので凄さがわかると思います。 LMAX Disruptor style RingBuffer surgemqの実装周りの参考にしたのがLMAX DisruptorのRing Bufferだそうです。 Disruptorは高速な汎用QueueをRing Bufferを使って