Remix.run Logo
▲ Eclipse Mosquitto – An open source MQTT broker(github.com)
45 points by gregsadetsky 3 hours ago | 15 comments
▲monkeyking135 3 hours ago | parent | next [-]

I’m confused why this post is on the front page of HN. This isn’t new and they haven’t done a new release or something. Mosquitto is good and used all over the place but not sure why this is being posted.

▲gregsadetsky 2 hours ago | parent | next [-]

I'm the OP - I just stumbled upon this project because I setup a self hosted MQTT server to read/write to/from a small PDU. Mosquitto worked great for that!

I hadn't heard of it, and thought to share it here. I'm not sure why people are upvoting it - but it's not impossible that others are interested in this topic as well..! Cheers

▲_def 3 hours ago | parent | prev | next [-]

Combining the old with the new. Agentic pubsub?

▲riedel 2 hours ago | parent | prev | next [-]

Maybe NanoMQ 0.25, Rabbitmq 4.4, EMQX 6.3 or VerneMQ 2.2 would have been a bit more newsworthy. Mosquito seems to the rather boring but but stable reference for MQTT for years now.

▲edukite 3 hours ago | parent | prev [-]

Exactly, I honestly checked link thinking there's v6 of mqtt protocol and I slept something and was confused. So I checked comments because maybe I'm to stupid but nope. There's literally nothing

▲alentred 2 hours ago | parent | prev | next [-]

Since we are into it, just sharing then: I had a lot of success with RabbitMQ + it's MQTT plugin. AFAIK, it actually has the MQTT plugin now baked in by default. Never had any issue at scale, plus you get AMQP in your stack, and you can actually use AMQP to consume the messages originally received over MQTT.

▲atmosx 14 minutes ago | parent | next [-]

Are you running a cluster? What clustering strategy guarantees and what’s your recovery story?

▲burcsahinoglu an hour ago | parent | prev [-]

I had a terrible time with a cluster of RabbitMQ servers, the cluster was partitioning often, impacting the application. It seemed like it was very sensitive to transient network problems.

At the end we moved from a cluster to a single instance running on a over provisioned machine, that worked pretty well.

▲jorl17 23 minutes ago | parent [-]

At a previous job (many years ago) we used to run RabbitMQ. I hadn't configured it originally, but I was certainly left with it in pieces when it entered split-brain mode in the face of some bizarre network failure.

So we had our application talking to two nodes of a cluster, both working normally without talking to each other (nevermind the fact that the connectivity between the machines was fine). Some workers picked up jobs, others didn't. IIRC the app read requests from a queue and wrote replies to another one, so we'd have half of the jobs being picked up, and then half of the replies not being picked up (ergo, 75% of the requests failed). It was bizarre and nothing seemed to indicate there were issues with RabbitMQ itself. I don't even remember how we figured it out at the time.

It's been nearly 10 years, I'm sure that it's better, that I was inexperienced, that the original setup wasn't great. But that left me so sore on it that I have actively avoid it ever since.

Bonus points for having dealt with this while Django Celery apparently had two independent configuration mechanisms, and both were being used in this app. Fun times.

▲keithnz 33 minutes ago | parent | prev | next [-]

I've used this for quite a while as a gateway for sparkplugB such that things like ignition can pull our telemetry data (we do agtech monitoring, smart meters, power, water, soil moisture, temp, etc etc)

▲Kinrany an hour ago | parent | prev | next [-]

Is it yet becoming more common to have brokerless protocols like ZeroMQ and Zenoh that do not require having a broker that is deployed separately?

▲cyberax 14 minutes ago | parent | prev | next [-]

It's written in C. At this point, this is an instant disqualification for a network service.

I looked at MQTT options earlier last year, and the best one was Mochi ( https://github.com/mochi-mqtt/server ), written in Go.

I added TLS support with Let's Encrypt provisioning to it: https://github.com/Cyberax/lenc-mochi

▲oulipo 2 hours ago | parent | prev [-]

Now the default seems to be EMQX, there's also a possible project to include MQTT5 compatibility in NATS (but they push back because they are selling this in their Entreprise version), what stack do people use here for MQTT?

▲fires10 an hour ago | parent | next [-]

We use HiveMQ and some mosquito. Rabbitmq did not have good qos2 support. I would like to see more options in this space. Mosquito did not have good cluster support from my perspective.

▲edukite 2 hours ago | parent | prev [-]

My company is using mosquito for multi source event stream. This is why I was so confused