Advice needed: Slack/Discord like solution and what's the use of MQTT/XMPP

Can someone who experienced in chat solutions like slack, discord can give some advice.

I’ve been program Rails for quite a few years and now learning of Elixir. If Phoenix framework can support 2millions requests concurrency.

  1. why we still need protocols like MQTT / XMPP? or something like VerneMQ’s or EMQTT?
  2. If we need to interact with (write/read) to DB, do we need something like RabbitMQ? then, what’s the point of having Elixir?
  3. What do we need to have a reliable, production-grade of chat solution? In terms of libraries, can anyone enlighten me?

Because that statement makes no sense. Phoenix channels aren’t alternative to MQTT/XMPP in general sense. Goal of these protocols is completely different from what Phoenix channels are.

No, there is no need for RabbitMQ, you can read from your DB using that DB communication protocol. I do not get what is the core of the question there.

  • Protocol
  • Communication channel

There is a lot of different examples in each of these. There is XMPP, Noise, Matrix, SMTP (yeah, you can use email as a communication protocol), and enormous amount of commercial protocols. For channels you can use TCP, UDP, ZMQ, NanoMQ, QUIC, etc. Whatever fits to your needs.

1 Like