3 ms·
Given the same problem, I'd look at a reactor pattern MQTT mosquitto like pubsub protocol in Go, Erlang or something JVM/CLR. The beauty of publish subscribe o
by ballard 13y ago
Given the same problem, I'd look at a reactor pattern MQTT mosquitto like pubsub protocol in Go, Erlang or something JVM/CLR. The beauty of publish subscribe of many low bandwidth clients is that they need tiny bits low latency work in a sizable bandwidth app. Could run BINC/CBOR RFC 7409 over zeromq on lower-end infiniband between boxen. Millions of IM users are just similar enough to tons of smart meters that the solution overlap is enough, but obviously people are more bursty with jagged sinewave daily traffic loads.
Let the clients handle end-to-end encryption with something zk DH/OTR/SMP.
I'm curious how they later monitored this and did other common SRE stuff. Also deployments.
- lmb 13y agoYou could use also Apollo, ActiveMQ's successor, which comes with an MQTT adapter and runs on the JVM. Has the added benefit of supporting other messaging protocols as well. I'm not sure how well mosquitto would hold up, do you have any experience with it? As an aside, MQTT has a constrained device optimized sibling MQTT-SN, which works over UDP and supports sleepy nodes, etc. Unfortunately that one's stuck in licensing hell and does not yet have good tooling, at least last time I checked.
- nivertech 13y agoMy company selling Telecom-grade distributed MQTT broker and MQTT-SN gateway. Both written in Erlang/OTP and come with 1M concurrent clients SLA (was tested with even more). I gave a talk about MQTT-SN Gateway at Erlang User Conference 2013: http://www.erlang-factory.com/conference/ErlangUserConference2013/speakers/ZviAvraham http://www.erlang-factory.com/conference/ErlangUserConferenc... http://www.erlang-factory.com/upload/presentations/807/ZviMQTTS_for_EUC2013.pdf http://www.erlang-factory.com/upload/presentations/807/ZviMQ...
- jnbiche 13y ago>Let the clients handle end-to-end encryption with something zk DH/OTR/SMP. ZeroMQ also has its own experimental elliptical-curve encryption protocol now: http://curvezmq.org/ http://curvezmq.org/ They call it experimental, but I've haven't heard anything negative about the implementation from the cryptographers, and elliptical curve crypto is well-established (it's the basis for Bitcoin's key signing, for example). Also, it's closely based on Daniel J. Bernstein's CurveCP.