0

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

我决定使用 REDIS 发布/订阅方法在 API 网关和微服务之间进行消息传递。可以肯定的是,我需要为每个微服务下可用的每个 API 创建一个主题,然后开始监听 API 网关发出的事件,以进行交互并将适当的数据从微服务返回到网关,并将其返回到端点。

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

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

4

1 回答 1

0

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

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

将单体重构为微服务

使用领域驱动设计从单体应用到微服务

于 2020-09-15T06:12:27.487 回答