Node.js 节点中的事件源微服务

Node.js 节点中的事件源微服务,node.js,microservices,event-sourcing,Node.js,Microservices,Event Sourcing,我正在尝试构建一个微服务POC,并尝试将ES/DDD/CQRS的概念结合起来,因此我向实际实施此功能的从业者提出了几个问题: 1) 不使用ES构建微服务是否可能,因为这似乎增加了大量的复杂性 2) 是否有人实际使用ES/DDD/CQRS和Nodejs构建生产微服务,您是否使用了任何框架?我这样问是因为如果你想沿着这条路走下去,你必须自己构建所有的基础设施,因为节点社区中没有完整的框架,比如axon或akka,你基本上必须自己构建 3) 构建微服务的最佳技术栈是什么?微服务有一个合适的框架,可以让

我正在尝试构建一个微服务POC,并尝试将ES/DDD/CQRS的概念结合起来,因此我向实际实施此功能的从业者提出了几个问题:

1) 不使用ES构建微服务是否可能,因为这似乎增加了大量的复杂性

2) 是否有人实际使用ES/DDD/CQRS和Nodejs构建生产微服务,您是否使用了任何框架?我这样问是因为如果你想沿着这条路走下去,你必须自己构建所有的基础设施,因为节点社区中没有完整的框架,比如axon或akka,你基本上必须自己构建

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

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

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

是的。事件源只是一种体系结构模式,对于微服务来说不是强制性的

2) (3)有。它包含许多微服务功能。您不需要担心如何传输消息和事件、处理重试或实现断路器逻辑。您只能关注业务逻辑


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

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