In the previous section, we learned how we might achieve a reactive system easily using Spring Cloud Streams and its variant in Spring Cloud Data Flow. In turn, we learned how to build a fine-grained system using lightweight functions with the support of Spring Cloud Function and the simplicity of composing them into the flow.
However, one disadvantage of such simplicity and flexibility is losing a low-latency approach. Nowadays, there are some areas of applications where each millisecond plays a vital role. For example, with the stock exchange market, online video games, or systems of real-time manufacture control. With such systems, it is unacceptable to waste time on queuing and dequeuing messages. In turn, as may be noticed, most reliable message brokers persist a message, which increases the time it takes to deliver a message...