微服務架構中會包含多個微服務應用,微服務應用中可能會包含Java、PHP、Node.js等多種語言。在EDAS中,通過集成的服務網格ASM,可以部署多語言應用,并實現多語言應用與Spring Cloud應用互通。
前提條件
多語言應用已部署到EDAS的K8s集群。
說明在部署多語言應用時,已經安裝并開啟了服務網格。
Spring Cloud應用的注冊中心使用的是MSE托管的1.2.1 版本的Nacos。具體操作,請參見創建Nacos引擎。
背景信息
多語言應用與Spring Cloud應用互通的流程如下:
ASM與MSE托管的1.21版本的Nacos對接,實現Nacos上注冊的Spring Cloud應用與ASM互通。
啟用ASM的DNS代理,實現ASM中的多語言應用的域名解析。
多語言應用使用Spring Cloud應用在ASM生成的域名訪問Spring Cloud應用;Spring Cloud應用使用多語言應用在K8s集群中的訪問方式訪問多語言應用。
操作步驟
在MSE控制臺為Spring Cloud應用使用的Nacos開啟MCP功能,實現與ASM互通。
在ASM中啟用DNS代理。具體操作,請參見在ASM中使用DNS代理。
在多語言應用的代碼里添加Spring Cloud應用的請求域名,例如
http://scc.test.public.nacos/xxxx
。說明一般情況下您的應用已經部署,所以需要修改應用代碼后對應用進行升級。具體操作,請參見升級和回滾應用概述(K8s)。
域名說明如下:
scc
:Spring Cloud的應用名稱。test
:Spring Cloud應用在Nacos中的分組名稱。public
:Spring Cloud應用在Nacos中的Namespace。xxxx
:Spring Cloud應用的URL。
為多語言應用設置訪問方式。
根據互通的不同場景,可以選擇為應用綁定負載均衡、Service或Ingress等方式。具體操作,請參見:
結果驗證
請根據實際業務需求,驗證多語言應用和Spring Cloud應用的互通。