如何实现多语言应用与Spring Cloud应用互通

微服务架构中会包含多个微服务应用,微服务应用中可能会包含Java、PHP、Node.js等多种语言。在EDAS中,通过集成的服务网格ASM,可以部署多语言应用,并实现多语言应用与Spring Cloud应用互通。

前提条件

  • 多语言应用已部署到EDAS的K8s集群。

    说明

    在部署多语言应用时,已经安装并开启了服务网格。

  • Spring Cloud应用的注册中心使用的是MSE托管的1.2.1 版本的Nacos。具体操作,请参见创建Nacos引擎

背景信息

多语言应用与Spring Cloud应用互通的流程如下:

  1. ASM与MSE托管的1.21版本的Nacos对接,实现Nacos上注册的Spring Cloud应用与ASM互通。

  2. 启用ASM的DNS代理,实现ASM中的多语言应用的域名解析。

  3. 多语言应用使用Spring Cloud应用在ASM生成的域名访问Spring Cloud应用;Spring Cloud应用使用多语言应用在K8s集群中的访问方式访问多语言应用。

操作步骤

  1. 在MSE控制台为Spring Cloud应用使用的Nacos开启MCP功能,实现与ASM互通。

  2. 在ASM中启用DNS代理。具体操作,请参见在ASM中使用DNS代理

  3. 在多语言应用的代码里添加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。

  4. 为多语言应用设置访问方式。

    根据互通的不同场景,可以选择为应用绑定负载均衡、Service或Ingress等方式。具体操作,请参见:

结果验证

请根据实际业务需求,验证多语言应用和Spring Cloud应用的互通。