首页 > 解决方案 > 部署和保护微服务通信 - 最佳实践

问题描述

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

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

谢谢!

标签: node.jsmicroservicesnestjs

解决方案


一些思考的食物:

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

推荐阅读