微服务架构中会包含多个微服务应用,微服务应用中可能会包含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应用的互通。