Spring boot ReST、MessageBroker或其他用于集成内部部署和基于云的spring boot应用程序的方法

Spring boot ReST、MessageBroker或其他用于集成内部部署和基于云的spring boot应用程序的方法,spring-boot,spring-integration,spring-cloud,spring-cloud-stream,Spring Boot,Spring Integration,Spring Cloud,Spring Cloud Stream,我有两个spring启动应用程序 本地出纳员应用程序 基于云的多租户应用程序,可聚合来自所有出纳员应用程序的数据 出纳员应用程序也必须脱机工作(如果连接中断)。将事件从出纳员应用程序广播到云的最佳方法是什么。我不希望实现代码来持久化事件 最好的方法是什么?ReST/MessageBroker或其他方法。如果使用消息代理,spring cloud stream抽象将在与代理的连接关闭时排队事件并重试。我将使用消息代理(rabbit,kafka)和spring cloud stream,因为您的

我有两个spring启动应用程序

  • 本地出纳员应用程序
  • 基于云的多租户应用程序,可聚合来自所有出纳员应用程序的数据
出纳员应用程序也必须脱机工作(如果连接中断)。将事件从出纳员应用程序广播到云的最佳方法是什么。我不希望实现代码来持久化事件


最好的方法是什么?ReST/MessageBroker或其他方法。如果使用消息代理,spring cloud stream抽象将在与代理的连接关闭时排队事件并重试。

我将使用消息代理(rabbit,kafka)和spring cloud stream,因为您的用例正是它的设计/设计方式。 微服务(您的应用程序)是代理的消费者,也就是说:它可以向代理发布和/或消费来自代理的事件。如果应用程序已关闭,则代理已启动,并且可能正在收集发送给关闭应用程序的事件。一旦应用程序启动,它将使用排队的事件等。
鉴于您的问题的一般性质,我将在这里停止,但请随时跟进更多细节。

谢谢您的快速回复。如果出纳员应用程序与云失去连接,会发生什么。云流抽象是否可以配置为在连接恢复时对事件进行排队并发布所有挂起的事件?您现在在非常高的级别上询问应用程序级别的问题。与云的松散连接可能意味着许多不同的事情,在不了解全部上下文的情况下,我认为这不是一个可以回答的问题。显然,您可以让您的应用程序做任何事情,包括在发生某些事情之前保持某种状态(例如,恢复到云的连接)。但是,如果在恢复与云的连接之前,保持该状态的应用程序失败了怎么办?还有更多的“什么是IFS”,所以考虑较少一般,更尖锐的问题…