【问题标题】:Handling UI in Event-driven Microservices在事件驱动的微服务中处理 UI
【发布时间】:2019-11-26 04:25:54
【问题描述】:

在事件驱动的微服务架构中处理前端和后端之间的通信时,我很担心:

用例:用户创建新产品,然后前往产品列表查看。流程如下

我的问题是在这种情况下 UI 如何处理产品列表?新产品可能不存在,因为读取端尚未处理新产品事件。

【问题讨论】:

  • 您在这里至少有 3 个问题。这个问题太笼统了。
  • 我现在更新了这个问题,它只专注于处理事件驱动微服务中的 UI
  • 这是可能的,因为您使用的是 CQRS 模式。通常在分布式系统中,我们更喜欢最终一致性而不是强一致性,以使其具有可扩展性。所以有一个权衡。在您的场景中,实际上取决于反映从写入到读取数据库的更改需要多长时间,但我认为它不应该很长。如果是,那么您必须在 UI 端进行相应的管理。

标签: microservices


【解决方案1】:

这是可能的,因为您使用的是 CQRS 模式。通常在分布式系统中,我们更喜欢最终一致性而不是强一致性,以使其具有可扩展性。所以有一个权衡。

在您的情况下,实际上取决于反映从写入到读取数据库的更改需要多长时间,但我认为它不应该很长。如果是,那么您必须在 UI 端进行相应的管理,例如一旦您在系统中输入产品,您可能需要返回 ID,您的 UI 将在读取数据库中轮询,同时用户有等待屏幕。或者更好的是,一旦产品在读取端可用,您可能必须使用 Websockets 来避免轮询和更新 UI

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-18
    • 2021-04-17
    • 2018-02-15
    • 2021-02-03
    • 2017-09-03
    • 2018-02-21
    • 2018-01-07
    • 2018-06-25
    相关资源
    最近更新 更多