【问题标题】:Microservices and messaging微服务和消息传递
【发布时间】:2018-03-19 17:36:08
【问题描述】:

我正在重组我的第一个应用程序,以使用事件驱动架构使用微服务和消息传递。我将有一个内容微服务来从各种来源检索内容并添加到消息队列中进行处理。我的问题是内容微服务是否应该将内容也存储在自己的数据库中,或者在我使用消息传递时是否多余?

【问题讨论】:

  • 为什么需要本地存储?会有什么不同?
  • 只是想如果有任何问题,我需要重新处理内容。在这里寻找最佳实践,因为内容最初存储在数据库中。
  • 就最佳实践而言,这实际上取决于您的情况。但是,如果您可以“按时”处理而不在本地存储任何内容,那么维护起来会更容易。另一方面,如果您必须担心失败,则可能需要某种形式的存储,以跟踪哪些已处理,哪些未处理。

标签: microservices messaging


【解决方案1】:

这取决于你的设计,但任何微服务都应该是自治的,所以它应该保留自己的逻辑和数据。

保留数据还取决于您是否会在发生故障时记录某些内容,或者您​​是否会实施自己的重试机制

【讨论】: