一個(gè)項(xiàng)目可能由于各種原因會(huì)存在多個(gè)語(yǔ)言編寫(xiě)的系統(tǒng)同時(shí)存在儿惫,但主項(xiàng)目如果采用的SpringCloud框架的話就無(wú)法通過(guò)微服務(wù)方式訪問(wèn)其他的異構(gòu)系統(tǒng),因此SpringCloud 生態(tài)圈給我們提供了很好的插件式服務(wù)酿愧,利用 sidecar 我們也可以輕松方便的集成異構(gòu)系統(tǒng)到我們自己的系統(tǒng)來(lái)。
如之前介紹過(guò)如此將NET MVC服務(wù)運(yùn)行在Linux的容器中敛熬,此時(shí)就可以通過(guò)Sidecar組件將此服務(wù)集成到SpringCloud服務(wù)中作為普通的服務(wù)調(diào)用黑低。
1.創(chuàng)建一個(gè)SpringBoot服務(wù)
2.添加 maven 引用包
添加SpringCloud相關(guān)依賴后添加如下依賴:
<!-- 異構(gòu)系統(tǒng)模塊 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sidecar</artifactId><version>2.1.3.RELEASE</version></dependency>
3.添加應(yīng)用配置
application.yml中添加:
# 配置異構(gòu)服務(wù)
sidecar:
? port: ${sidecar-port:3000}
? ip:? ${ip-address:localhost}
? health-check-url: http://${ip-address:localhost}:${sidecar.port}/health
注意:
在老版本中需要添加sidecar微服務(wù)啟動(dòng)類(lèi)注解@EnableSidecar,如果添加文中的依賴的話是不需要的挽拔,默認(rèn)是開(kāi)啟辆脸。
sidecar-port指的是代理MVC服務(wù)的端口,ip指的是代理MVC服務(wù)的ip螃诅,MVC服務(wù)需要添加一個(gè)健康檢測(cè)的health接口啡氢,如果是最新的Cloud框架為/actuator/health
4.運(yùn)行此服務(wù)
可以看到注冊(cè)到注冊(cè)中心的服務(wù)ip和端口為MVC服務(wù)的,其它服務(wù)通過(guò)服務(wù)名可直接訪問(wèn)到此MVC服務(wù)术裸。