Node.js 部署并保护微服务通信-最佳实践

Node.js 部署并保护微服务通信-最佳实践,node.js,microservices,nestjs,Node.js,Microservices,Nestjs,我有两个微服务,每个连接到一个db和两个API,我问自己在生产中部署它们的最佳实践是什么 首先,我考虑将所有代码放在同一台服务器上。每个微服务将位于docker容器中,与API相同。我不会将docker用于数据库(Mongo和MariaDB),而是将它们直接安装在服务器上。只有API的端口将被打开,它们将通过TCP与微服务通信。 其次,我想知道如何确保微服务的安全,或者如果需要的话。验证逻辑将仅在API上 谢谢大家! 一些值得思考的东西: 部署同一容器的多个副本以提高可靠性和恢复能力。要管理负

我有两个微服务,每个连接到一个db和两个API,我问自己在生产中部署它们的最佳实践是什么

首先,我考虑将所有代码放在同一台服务器上。每个微服务将位于docker容器中,与API相同。我不会将docker用于数据库(Mongo和MariaDB),而是将它们直接安装在服务器上。只有API的端口将被打开,它们将通过TCP与微服务通信。 其次,我想知道如何确保微服务的安全,或者如果需要的话。验证逻辑将仅在API上


谢谢大家!

一些值得思考的东西:

  • 部署同一容器的多个副本以提高可靠性和恢复能力。要管理负载平衡和副本,您可以使用kubernetes实例
  • 如果您的容器彼此通信,您可以考虑启用MTL
  • 仅公开所需的端口
  • 如果您在自己的服务器中部署它们,请注意底层操作系统的维护

我建议您使用rabbitmq这样的消息代理进行通信。@rudreshsolanki您能说出原因吗?优点是什么,我只有2个微服务?这取决于你想把它们放在哪里。e、 g.如果您正在使用任何云提供商或prem?如果您想在容器上部署,您是否计划使用任何容器编排,如AWS ECS、Kubernetes等?我说过我会将它们托管在同一台服务器上(来自digital ocean的简单vps)。我将使用docker,但不使用编排。