【问题标题】:Question about architecture of microservices over http for Nestjs关于 Nestjs 通过 http 的微服务架构的问题
【发布时间】:2021-06-25 13:16:39
【问题描述】:

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

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

比如说,一个身份验证服务、一个后期服务和一个评论服务。

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

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

【问题讨论】:

    标签: microservices nestjs


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的提示,我从未听说过。我想,当将容器放入类似的东西时,将除一个 BE 服务之外的所有服务放入私有子网中应该不会太难,然后通过合理的负载均衡器设置,我至少会在路上。再次感谢!
    猜你喜欢
    • 2020-05-06
    • 2021-09-04
    • 2021-06-05
    • 2020-05-29
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    相关资源
    最近更新 更多