SpringCloud(第027章)将异构微服务系统集成到SpringCloud生态中(如集成nodejs微服务)-1.总体介绍1.在一些稍微复杂一点的系统中,单一代码编写的服务往往不是单一代码编写的,相反,多种语言编写的系统是集成在一起的,我们需要很好的解耦它们,进行集成他们进入我们自己的系统中;2、由于以上情况,SpringCloud生态为我们提供了很好的插件服务。使用sidecar,我们也可以轻松方便地将异构系统集成到自己的系统中;3.本章的目的是解决异构系统轻松简单的集成到自己的微服务系统中的问题;2.执行步骤2.1添加maven参考包4.0.0springms-sidecar1.0-SNAPSHOTjarcom.springms.cloudspringms-spring-cloud<version>1.0-SNAPSHOTorg.springframework.cloudspring-cloud-netflix-sidecarorg.springframework.cloudspring-cloud-starter-eureka2.2添加应用配置文件(springms-sidecarsrcmainresourcesapplication.yml)spring:application:name:springms-sidecarserver:port:8210eureka:datacenter:SpringCloud#修改http://localhost:8761地址EurekaHomepage数据中心显示SystemStatus环境信息:Test#修改http://localhost:8761地址Eurekahomepage的环境上面的系统状态显示信息client:service-url:defaultZone:http://admin:admin@localhost:8761/eurekahealthcheck:#healthcheckenabled:trueinstance:prefer-ip-address:trueinstance-id:${spring.application.name}:${spring.cloud.client.ipAddress}:${spring.application.instance_id:${server.port}}#######################################################################################################################打印日志记录:级别:root:INFOcom.springms:DEBUG###########################################################################################################################################################################################################异构微服务配置,port代表异构微服务的端口;health-uri表示异构微服务sidecar的运行链接地址:port:8205health-uri:http://localhost:8205/health.json############################################################################################################2.3添加sidecar微服务启动类(springms-sidecarsrcmainjavacomspringmscloudMsSideCarApplication.java)packagecom.springms.cloud;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.netflix.sidecar.EnableSidecar;/***集成异构微服务系统进入SpringCloud生态系统(比如集成nodejs微服务)**注意在eureka服务上可以注册EnableSidecar注解,因为注解中包含了eureka客户端的注解,而EnableZuulProxy是复合注解。**@EnableSidecar-->{@EnableCircuitBreaker,@EnableDiscoveryClient,@EnableZuulProxy}包含eureka客户端注解、Hystrix断路器模块注解、zuulAPI网关模块。**@authorhmilyylimh**@version0.0.1**@date2017/9/28**/@SpringBootApplication@EnableSidecarpublicclassMsSideCarApplication{publicstaticvoidmain(String[]args){SpringApplication.run(MsSideCarApplication.class,参数);System.out.println([[[[[[SideCar微服务]]]]]]已启动。”);}}3.测试/*********************************************************************************************1.整合异构微服务系统进入SpringCloud生态(如集成nodejs微服务)(正常测试):1、编写application.yml文件,添加应用注解EnableSidecar配置;2、启动springms-discovery-eureka模块服务,启动1个端口;3.启动springms-gateway-zuul-fallback模块服务并启动1个端口;4、启动springms-sidecar模块服务,启动1个端口;5、启动springms-node-service微服务,启动1个端口;6、新建一个网页选项卡,正常情况下输入http://localhost:8205/下面是看到打印出来的信息“欢迎来到简单异构系统的nodejs服务主页”;7、新建一个页面选项卡,然后输入http://localhost:8205/health.json,正常情况下可以看到打印出来的是“{"status":"UP"}"信息;总结1:Nodejs微服务,自己访问正常;8、新建页面tab,输入http://localhost:8200/springms-sidecar/正常情况下可以看到“欢迎来到简易异构系统的nodejs服务主页”"信息打印出来;9.新建一个页面选项卡,然后输入http://localhost:8200/springms-sidecar/health.json,正常情况下可以看到"{"status":"UP"}》信息打印出来;总结2:通过在yml配置文件中添加sidecar属性,可以将异构系统加入到SpringCloud生态中,完美无缝;****************************************************************************************************//***********************************************************************************************2.将异构微服务系统集成到SpringCloud生态中(比如集成nodejs微服务)(除了包含异构微服务,同时添加Ribbon模块电影微服务):1、编写application.yml文件,添加应用的注解EnableSidecar配置;2、启动springms-discovery-eureka模块服务并启动1个端口;3、启动springms-gateway-zuul-fallback模块服务和启动1端口端口;4、启动springms-sidecar模块服务,启动1个端口;5、启动springms-consumer-movie-ribbon模块服务,启动1个端口;6、启动springms-node-service微服务,启动1个端口;7.新建一个页面选项卡,输入http://localhost:8205/。正常情况下,可以看到打印出“欢迎来到简单异构系统的nodejs服务首页”;8.新建一个页面选项卡,然后输入http://localhost:8205/health.json。正常情况下,可以看到打印出“{"status":"UP"}"信息;总结1:nodejs微服务访问自己是正常的;9.新建一个页面tab,输入http://localhost:8200/springms-sidecar/,正常情况下可以看到“Happy欢迎来到一个简单的异构系统的nodejs服务的首页》信息打印;10.新建一个页面选项卡,然后输入http://localhost:8200/springms-sidecar/health.json,就可以看到了正常情况下打印出"{"status":"UP"}"信息;总结2:通过Zuul代理模块,统一入口路径,从zuul也能成功访问异构系统;11.创建一个新建页面选项卡,输入http://localhost:8010/sidecar/正常情况下,可以看到打印出“欢迎来到简单异构系统的nodejs服务主页”;12.新建一个页面选项卡,然后输入http://localhost:8010/sidecar/health.json正常情况下可以看到打印出"{"status":"UP"}"信息;总结3:在springms-consumer-中添加几个方法movie-ribbon微服务,也可以成功接入异构系统,可见使用SpringCloud集成异构系统要容易的多;***********************************************************************************************/4.下载地址https://gitee.com/ylimhhmily/SpringCloudTutorial.gitSpringCloudTutorial交流QQ群:235322432SpringCloudTutorial交流微信群:微信交流群二维码图片链接欢迎关注,您的肯定就是对我最大的支持!!!