node.js - 部署和保护微服务通信 - 最佳实践
问题描述
我有 2 个微服务,每个都连接到一个数据库和两个 API,我问自己在生产中部署它们的最佳实践是什么。
首先,我考虑将所有代码放在同一台服务器上。每个微服务都将位于一个 docker 容器中,并且与 API 相同。我不会将 docker 用于数据库(Mongo 和 MariaDB),而是将它们直接安装在服务器上。只有 API 的端口将被打开,它们将通过 TCP 与微服务通信。其次,我想知道如何保护微服务或是否需要。验证逻辑将仅在 API 上。
谢谢!
解决方案
一些思考的食物:
- 部署同一容器的多个副本以提高可靠性和弹性。要管理负载平衡和副本,您可以使用例如 kubernetes
- 如果您的容器相互通信,您可以考虑启用 mTLS。
- 仅公开所需的端口。
- 如果您将它们部署在自己的服务器中,请注意底层操作系统的维护。
推荐阅读
- python - 设置 GTK Webkit.Webview 的 HTML 内容?
- java - 当应该动态设置图像时,如何将源添加到android中的imageView?
- java - 如何在 JavaFX 的 TextInputDialog 中执行输入检查?
- python - 随机化图像中黑色像素的位置
- gradle - 使用junit5自定义构建任务
- assembly - 如何在 x86 程序集中操作 REAL8 值以存储到缓冲区?(包括欧文32)
- java - 递归在完成最后一步时不要返回到后一步
- r - 图像无法在 R 闪亮中显示
- cmake - 使用 make 和 Cmake 而不是从命令行编译的优点?
- php - php代码应该保存为什么