メッセージング技術選定メモ
はじめに
メッセージングを実現するための技術についてメモ。
昨今ではZoomなどのビデオ会議にもチャットできたりするが、
どう技術選択するのかは改めて重要と思ったため備忘録としてメモしておく。
using-rabbitmq-in-android-for-chat
例えば、以下のRabbitMQをチャットに利用しているstack overflowのやりとりは参考になる。
mqtt-vs-xmpp-which-should-i-choose
以下もmqttとxmppについてどういった点で選択するべきかという点が議論されていて個人的に参考になるスレッドだと思った。 以下の記事の回答例を一部抜粋してみた。
MQTT has very low keep-alive traffic. XMPP is a an IM protocol, and has a much, much higher overhead in handling presence messages between all the clients.
MQTTはキープアライブのトラフィックがとても低く、XMPPはインターネットメッセージングプロトコルのためより多くのオーバーヘッドを要する。
If you have a small memory footprint constraint, then having to handle the XML parser may make the use of XMPP impossible.
もし、あなたが、小さいメモリのフットプリントという制約があるならば、XMLパーサを必要とするためXMPPを利用できなくなる可能性があります。
以下の記事はWeb SocketsとXMPPの比較記事。
セキュリティも踏まえて議論されている。
Kafkaについて
Kafka has operational simplicity. Kafka is easy to set up and use, and it is easy to figure out how Kafka works. ...
In addition, Kafka works well with systems that have data streams to process and enables those systems to aggregate, transform, and load into other stores. But none of those characteristics would matter if Kafka was slow.