It’s driving us: NATS – Modular system thanks to Message Broker
We need a connection to our electronic shift book. But this is an in-house development…
(Customer)
The research project to support machine setup and maintenance is going well. The results could be well used in the future as an extension of MADDOX…
(Fraunhofer IVV research institute)
Customer-specific wishes and the future integration of new, innovative solutions drive our product development right from the start. But how can we take these into account now, even though their exact requirements are not yet known?
Our solution is a modular system based on a service architecture. In our software, core modules, extension modules and customer-specific modules run as largely independent sub-processes. This makes the overall system resilient and very flexible. But how can this “zoo” be kept under control? Much like a project team of human colleagues: Each works largely independently. To keep each other up to date on the overall project, they use newsletters that can be subscribed to according to information needs.
We implement the same principle technically with the message broker NATS. Our individual modules send messages to the central broker, to which the other modules can subscribe. This allows future modules to simply plug in and subscribe to the messages that are relevant to them without requiring any changes to the existing system. This enables efficient development despite unknown future requirements.
“But the new quasi-industry standard is MQTT…”
That’s true, but we only use the message broker to communicate between the individual processes on our machine. Here, MQTT’s typical strengths, such as reliable transmission over unreliable networks, don’t come into play, while NATS plays to its advantages. These include, for example, its enormous speed, which we need for fast transmission of large amounts of machine data. For external communication, we rely – in keeping with the microservice architecture – on independent, protocol-specific modules; for example, for OPC UA…and of course for MQTT if required 😉
This Post Has 0 Comments