Making of Message Gateway with Kafka - Part 3

Balancing service provider connections across application nodes One of the challenges with cluster-ready applications is balancing specific processes throughout the cluster nodes. By process I mean part of the application logic that runs in separate thread. For example, some process can read data from database and export it in PDF files, another example is schedule job that does something periodically (e.g. generating some reports). In many cases such processes must run only on one node at the same time, but if that node fails, the process should be restarted on another node. Running more then one instance of same process (for example, each node runs one instance) will cause troubles in many cases. For example , if our process must only process data in certain state, and after processing it state should be updated, having two processes operating on same data could lead to serious data inconsistencies. Our case Our application has to send messages to several different