【问题标题】:Using both a message queue and database同时使用消息队列和数据库
【发布时间】:2011-02-11 05:11:04
【问题描述】:

我将开发一个系统,该系统将涉及一个数据采集服务器,每次采集都将填满一行。我还需要能够通知用户应用程序何时获取了新数据。

根据我的阅读,将数据库用作消息队列并不是一个好主意,反之亦然,但我想知道是否可以同时使用这两者?

采集应用程序可以将新行添加到数据库中,然后通知消息系统中的侦听器。这会是此类系统的最佳方法吗?会不会太复杂?是否有已经实现了这一点的设计模式?

【问题讨论】:

  • @CookieOfFortune- 我正在努力解决同样的问题。你有没有文章指出为什么要使用消息队列而不是数据库?
  • 伙计,这个问题是很久以前的问题了。我认为我从中得出的观点是“事件”和“持久性”应该分开。如果您愿意,您可以使用数据库来实现事件,但您应该在概念上保持独立于存储。仅使用消息具有优势,因为您的流程可以在没有状态的情况下运行。这可以使您的代码更简单(特别是如果您想并行化它)。在使用消息队列方面,它们专门用于事件。这意味着它们可能会有更好的性能并允许更复杂的消息传递方案。

标签: database message-queue data-acquisition


【解决方案1】:

是的,在数据​​库中插入一行和更新 GUI 是两个不同的操作,应该分开。

你的建议听起来不错:

  1. 在数据库中插入一行
  2. 通过通知机制通知用户应用程序(侦听器会很好)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-22
    • 2020-03-07
    • 1970-01-01
    • 2020-11-27
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多