我有一个设计问题。我有一个应用程序(我们称它为应用程序A),它通过定期轮询系统中的每个组件来收集系统的统计信息。我有第二个应用程序(应用程序B),该应用程序应该做出一些决定并将其强制执行到同一系统中,该应用程序B正在从中收集统计信息。对于决策过程,应用B需要从应用A收集的统计信息中获取一些信息。因此,在特定的时间点(每秒10-100s次),应用B向应用A发出请求以获取一些信息(即一些有关系统的最新统计信息)。实现从应用程序A到应用程序B的信息交换的最佳解决方案是什么?我在想2种解决方案:1)使用消息队列(RabbitMQ)的RPC样式的解决方案2)基于数据库的解决方案,有一张表,其中应用A发布最新信息,而应用B则在需要时读取它。请提供一些有关这两种方法是否能提供良好解决方案的见解。任何其他建议,欢迎。谢谢!
考虑逆转信息流。让应用程序A告诉应用程序B什么时候发生更改,可能是通过使用消息队列的消息/事件进行的。然后,应用程序B可以保留自己的应用程序A数据的高可用性版本,并快速有效地查询它,而无需跨越线路或过程边界。该高可用性存储可以只是内存中的存储,也可以是某种高性能的键值存储。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句