Distributed messaging systems form the core of big data streaming, cloud native applications and microservice architecture. With real-time critical applications there is a growing need for well-built messaging platform that is scalable, fault tolerant and has low latency. There are multiple modern messaging systems that have come up in the recent past, all with their own pros and cons. This has become problematic for the industry to decide which messaging system is the most suitable for a specific application. An in-depth study is required to decide which features of a messaging system meet the needs of the application. This survey paper outlines the modern messaging technologies and delves deep on three popular publisher/subscriber systems- Apache Kafka, RabbitMQ and NATS Streaming. The paper provides information about messaging systems, the use cases, similarities and differences of features to facilitate users to make an informed decision and also pave way for future research and development.
翻译:分布式信息传输系统构成大数据流、云源本地应用和微服务结构的核心。随着实时关键应用,越来越需要建立可缩放、容错和低缓度的完善信息传递平台。最近出现了多种现代信息传递系统,这些系统都有自己的利弊。这对业界决定哪个信息传递系统最适合特定应用来说已成为问题。需要进行深入研究,以确定信息传递系统的哪些特点满足应用程序的需要。本调查文件概述了三个流行的出版商/订户系统 -- -- Apache Kafka、RabitMQ和NATS Streaming -- -- 的现代信息传递技术和深度发展。本文提供了有关信息传递系统、使用案例、特征的相似性和差异的信息,以便利用户作出知情决定,并为今后的研究和开发铺平了道路。