【问题标题】:Event Sourcing Microservices in NodeNode 中的事件溯源微服务
【发布时间】:2018-06-27 01:46:48
【问题描述】:

我正在尝试构建一个微服务 POC 并尝试合并 ES/DDD/CQRS 的概念,所以我有几个问题要问那些实际实现了这一点的从业者:

1) 是否可以在不使用 ES 的情况下构建微服务,因为这似乎增加了很大的复杂性?

2) 有没有人真正使用 ES/DDD/CQRS 和 Nodejs 构建生产微服务,你使用过任何框架吗?我问这个是因为如果你想走这条路,你必须自己构建所有的基础设施,因为节点社区中没有完整的框架,如 axon 或 akka,你基本上必须滚动你的拥有。

3) 用于构建微服务的最佳技术堆栈是什么,它有一个体面的框架可让您专注于业务逻辑?

4) 在具有微服务的 EDA 架构中,当您有多个相同服务的实例可用时,因为 CQRS 需要单独的读/写模型,它们可以作为两个完全独立的服务实现,这是否意味着对于一个服务 A 将有多个读取模型服务,它们都需要根据接收到的事件保持其预测是最新的?

对于实际实施此功能的人,您能否提供您的指导/经验?

【问题讨论】:

  • 我对 Node 了解的不够多,无法谈论堆栈和框架,但第一部分的答案是“是的,可以在不使用事件源的情况下构建微服务”。
  • 我认为没有必要也没有质量框架可以让你构建微服务或 ES/DDD/CQRS 系统。对于 POC,您应该只使用最少的工具...消息传递、部署、事件源存储,如果您使用 ES...
  • 地址 #2,实际上一个用于 JavaScript / Node.js 的 CQRS 和事件源框架,称为 wolkenkit

标签: node.js microservices event-sourcing


【解决方案1】:

1) 是的。事件溯源只是一种架构模式,对于微服务不是强制性的。

2), 3) 有full microservices framework for NodeJS。它包含许多微服务功能。您无需担心如何传输消息和事件、处理重试或实现断路器逻辑。您可以只关注业务逻辑。

4) 是的,如果您将模型存储在内存中,所有实例都将接收模型事件以更新本地投影/聚合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 2017-04-18
    • 2018-08-04
    • 1970-01-01
    • 2020-04-25
    • 2019-08-16
    • 2019-07-13
    • 2018-08-03
    相关资源
    最近更新 更多