Key Lime Box简单MQ为什么是另一个消息队列?因为我们需要一些简单的东西来按照我们想要的方式发布/订阅消息。我们查看了所有已建立的消息队列系统,它们很好,但它们也非常复杂,处理许多消息传递需求等。我们发现可用的大多数发布/订阅模型都基于连接的订阅者。无论是否连接,我们都希望向订阅者发送持久消息。

基础架构:我们有一个提供REST API的Web服务器。这是一个基于Spring Boot (Spring 4)的Web应用程序。队列的配置和消息的持久化以及配置都是通过MongoDB实现的。

操作:当消息发布到队列时,Simple MQ会查看队列的订阅者,并为每个订阅者创建一个排队的消息并将它们持久化。如果队列没有订阅者,则不会有消息排队。坚持在这个初始实现中,对MongoDB的持久化以一种非常简单的方式完成。有一个名为mes...