关于 Nestjs 的 http 微服务架构问题

时间:2021-03-29 13:48:03

标签: microservices nestjs

Nestjs docs 声明:“在 Nest 中,微服务本质上是一个使用不同于 HTTP 传输层的应用程序。”

这是实现微服务的一种可能,也可能是一种奇特的方式,但我想以简单的方式开始我的实验。只需在自己的 docker 容器中构建一个具有 2 或 3 个服务的应用程序。使用他们自己的 mongo-db(在另一个单独的容器中)。然后让这些与 rest-api 调用通信。

假设有一个身份验证服务、一个后期服务和一个评论服务。

如果我希望它们成为单独的实体,在它们自己的容器中,我是否只需使用 cli: nest new <service-name> 创建 3 个单独的应用程序?这将为我提供完整的应用程序,包括应用程序模块等。它应该可以工作,但这是推荐的方法吗?

我尝试过谷歌搜索,并查看文档,但也许这个问题太基础了,所以没有人愿意写任何关于它的东西。

1 个答案:

答案 0 :(得分:1)

这绝对是一个选择。使用基于 HTTP 的微服务方法需要注意的是,端点几乎暴露于公共流量。如果您使用 RabbitMQ 或 Redis 之类的服务,那么就没有可以攻击且必须保护的面向公众的端点,只需担心 API 网关。

但是对于您的问题:是的,这种方法很好,并且可能是最好的方法,除非您想制作一个 monorepo 并将它们全部保存在同一个 repo 中(我建议 Nx如果那是你要去的路线)