【问题标题】:Database or message queue for exchange of data between two apps [closed]用于在两个应用程序之间交换数据的数据库或消息队列 [关闭]
【发布时间】:2014-01-04 12:09:38
【问题描述】:

我有一个设计问题。 我有一个应用程序(我们称之为应用程序 A)通过定期轮询系统中的每个组件来从系统收集统计信息。 我有第二个应用程序(应用程序 B),它应该做出一些决定并将它们强制执行到同一个系统中,应用程序 B 正在从中收集统计信息。对于决策过程,应用 B 需要应用 A 收集的统计信息中的一些信息。 因此,在某些时刻(这将是每秒 10-100 次)应用 B 向应用 A 发出请求以获取一些信息(即有关系统的一些最新统计信息)。 实现从应用 A 到应用 B 的这种信息交换的最佳解决方案是什么? 我在考虑 2 个解决方案:1)使用消息队列(RabbitMQ)的 RPC 样式解决方案 2)基于数据库的解决方案,有一个表,其中应用程序 A 发布最新信息,应用程序 B 在需要时读取它。 请提供一些关于这两者中的任何一个是否会成为一个好的解决方案的见解。欢迎任何其他建议。 谢谢!

【问题讨论】:

    标签: database message-queue data-exchange


    【解决方案1】:

    考虑反转信息流。让 App A 在发生变化时告诉 App B,可能通过使用消息队列的消息/事件。然后,应用程序 B 可以保留其自己的应用程序 A 数据的高可用性版本,并快速有效地查询它,而无需跨越线路或流程边界。这种高度可用的存储可能只是在内存中,或者是某种高性能的键值存储。

    【讨论】:

    • 你说的很有道理。我应该自己考虑一下。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 2018-01-29
    • 2015-06-04
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    相关资源
    最近更新 更多