簡體   English   中英

如何讓我的微服務只能通過 api 網關訪問

[英]How do make my microservices only accessible by the api gateway

我想知道如何保護我的 Nodejs 微服務,以便只有 API 網關可以訪問它。 目前,微服務暴露在我機器上的一個唯一端口上,可以直接訪問而無需通過網關。 這違背了網關作為系統中安全和授權信息交換的唯一入口點的目的。

微服務和網關目前使用 Nodejs 和 express 構建。

計划最終將其部署在雲(數字海洋)上。 我很感激任何回應。 謝謝。

Kubernetes 可以解決這個問題。

Kubernetes 管理容器,其中每個容器都可以是一個微服務。 在將微服務連接到網關服務器時,您可以選擇只允許外部連接到網關服務器。 您的 kubernetes 集群中有一個負載均衡器/nginx,它將請求重定向到您的網關服務器。

Kubernetes 還有許多其他特性,例如:

  • 服務發現:除非您的所有服務都擁有靜態 IP,否則您的每個微服務的 IP 都可能在重新啟動/部署時發生更改。 服務發現解決了這個問題。
  • 高可用性、水平擴展和零停機時間:您可以為每個服務配置多個副本。 因此,當其中一項服務出現故障時,仍有其他副本活着來處理剩余的請求。 這也有助於 CICD。 使用 github action 之類的東西,您可以創建一個平滑的 CICD 管道。 當你部署一個新的 docker 鏡像(更新一個微服務)時,kubernetes 會先啟動一個新的容器,然后殺死舊的容器。 因此,您的停機時間為零。

如果您正在使用微服務,那么您絕對應該深入了解 kubernetes。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM