beatlabs / patron

Microservice framework following best cloud practices with a focus on productivity.
Apache License 2.0
124 stars 67 forks source link

Implement support for MQTT protocol #456

Open rbroggi opened 2 years ago

rbroggi commented 2 years ago

Is your feature request related to a problem? Please describe

Include support for MQTT async protocol

Is this a bug? Please provide steps to reproduce, a failing test etc.

Describe the solution

Additional context

mantzas commented 2 years ago

Could be interesting. The problem here is which library to use. MQTT v5 is not supported in a mature package last time we checked. Can I also assume a client and not only a consumer?

gkech commented 2 years ago

We recently checked our options regarding Go MQTT clients and as @mantzas mentioned we found https://github.com/eclipse/paho.mqtt.golang is not MQTT v5 compatible. However, they do mention in their README that https://github.com/eclipse/paho.golang is v5 compatible. It seems that it is a rather simple client, with a low star/fork count and also it is not as production-ready as https://github.com/hivemq/hivemq-mqtt-client which is used already by big smarthouse/automotive names.

mantzas commented 2 years ago

@gkech Yes I agree. We saw the Go MQTT v5 client and decided that it is not 100% mature and not a good choice. That's why our service that uses MQTT is written in Java (Spring Boot).

gkech commented 2 years ago

@mantzas Maybe it's not far fetched for us to develop a beatlabs mqtt client. 🚀

mantzas commented 2 years ago

@gkech this is a huge project and we most probably not have the capacity to do this. It is much easier to use either the v3 version or just use another language. My personal opinion.