一个项目可能由于各种原因会存在多个语言编写的系统同时存在,但主项目如果采用的SpringCloud框架的话就无法通过微服务方式访问其他的异构系统,因此SpringCloud 生态圈给我们提供了很好的插件式服务,利用 sidecar 我们也可以轻松方便的集成异构系统到我们自己的系统来。
如之前介绍过如此将NET MVC服务运行在Linux的容器中,此时就可以通过Sidecar组件将此服务集成到SpringCloud服务中作为普通的服务调用。
1.创建一个SpringBoot服务
2.添加 maven 引用包
添加SpringCloud相关依赖后添加如下依赖:
<!-- 异构系统模块 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sidecar</artifactId><version>2.1.3.RELEASE</version></dependency>
3.添加应用配置
application.yml中添加:
# 配置异构服务
sidecar:
port: ${sidecar-port:3000}
ip: ${ip-address:localhost}
health-check-url: http://${ip-address:localhost}:${sidecar.port}/health
注意:
在老版本中需要添加sidecar微服务启动类注解@EnableSidecar,如果添加文中的依赖的话是不需要的,默认是开启。
sidecar-port指的是代理MVC服务的端口,ip指的是代理MVC服务的ip,MVC服务需要添加一个健康检测的health接口,如果是最新的Cloud框架为/actuator/health
4.运行此服务
可以看到注册到注册中心的服务ip和端口为MVC服务的,其它服务通过服务名可直接访问到此MVC服务。