从整体迁移到微服务架构

问题描述

我已经使用Node.js Express运行基于Monolith Architecture的后端服务。该应用程序越来越大,我需要从Monolith迁移到Microserivce Architecture。

我决定将REdis pub / sub方法用于API网关和微服务之间的消息传递目的。可以确定的是,我需要为每个微服务下的每个可用API创建一个主题,然后开始侦听API Gateway发出的事件以进行交互并将适当的数据从微服务返回给Gateway并将其返回到端点。

对于实例,如果用于收集产品列表的端点调用api,则必须在产品微服务内部打开一个侦听器,并监听列表事件以生成列表并通过网关返回到端点。

问题是,是否有任何解决方案可供我使用,或者不为我的微服务中的每个API创建事件,或者没有办法为我提供,我需要为我拥有的每个API创建事件监听器?

解决方法

有一些模式可以将单片应用程序重构为微服务。例如,您可以使用反腐败层来启动它,并开始将有限的上下文一对一地分离到新的微服务中。然后,您可以使用网关来处理您的客户端请求和身份验证。要实现快速专用网关,可以使用Refactoring a monolith to microservices。但是不要忘记,要实现微服务结构,了解有关域驱动设计(DDD)和其他一些模式(例如CQRS)和某些消息代理(例如RabbitMQ)的细节很重要。

首先,您可以阅读并点击以下链接:

Monoliths to microservices using domain-driven design

{{3}}