Protocols that are modelled on the publish-subscribe pattern such as MQTT and AMQP require a centralised message broker to co-ordinate messages being sent and received. This does not pose much of a problem when your IoT network is based on a star topology, where all messages have to go through a central hub anyway, however I've been thinking about the benefits of mesh networks and how these may be affected by protocol choice.
The Thread Introduction presentation outlines several benefits of Thread's mesh network in particular (however these should apply generally):
✔ No single point of failure
✔ Self-healing
✔ Interference robustness
✔ Self-extending
✔ Reliable enough for critical infrastructure
Although I can't imagine the latter four points being affected by protocol choice, I'm curious as to whether using a message-brokered protocol would cancel out any advantages of the mesh network's "no single point of failure".
Does using a publish-subscribe based protocol introduce an inevitable single point of failure in general, and is this why the Thread Introduction presentation suggests CoAP instead as a potential protocol to use?
I've already asked about Mosquitto supporting multiple brokers to remove the single point of failure, but I'm asking this to question whether this is a fundamental conflict between mesh networks and publish-subscribe protocols.