摘要:注意注解能注冊到服務(wù)上,是因?yàn)樵撟⒔獍丝蛻舳说淖⒔?,該是一個(gè)復(fù)合注解。包含了客戶端注解,同時(shí)也包含了斷路器模塊注解,還包含了網(wǎng)關(guān)模塊。
SpringCloud(第 027 篇)集成異構(gòu)微服務(wù)系統(tǒng)到 SpringCloud 生態(tài)圈中(比如集成 nodejs 微服務(wù))
-
一、大致介紹1、在一些稍微復(fù)雜點(diǎn)系統(tǒng)中,往往都不是單一代碼寫的服務(wù),而恰恰相反集成了各種語言寫的系統(tǒng),并且我們還要很好的解耦合集成到自己的系統(tǒng)中; 2、出于上述現(xiàn)狀,SpringCloud 生態(tài)圈中給我們提供了很好的插件式服務(wù),利用 sidecar 我們也可以輕松方便的集成異構(gòu)系統(tǒng)到我們自己的系統(tǒng)來; 3、而本章節(jié)目的就是為了解決輕松簡便的集成異構(gòu)系統(tǒng)到自己的微服務(wù)系統(tǒng)中來的;二、實(shí)現(xiàn)步驟 2.1 添加 maven 引用包
2.2 添加應(yīng)用配置文件(springms-sidecarsrcmainresourcesapplication.yml)4.0.0 springms-sidecar 1.0-SNAPSHOT jar com.springms.cloud springms-spring-cloud 1.0-SNAPSHOT org.springframework.cloud spring-cloud-netflix-sidecar org.springframework.cloud spring-cloud-starter-eureka
spring: application: name: springms-sidecar server: port: 8210 eureka: datacenter: SpringCloud # 修改 http://localhost:8761 地址 Eureka 首頁上面 System Status 的 Data center 顯示信息 environment: Test # 修改 http://localhost:8761 地址 Eureka 首頁上面 System Status 的 Environment 顯示信息 client: service-url: defaultZone: http://admin:admin@localhost:8761/eureka healthcheck: # 健康檢查 enabled: true instance: prefer-ip-address: true instance-id: ${spring.application.name}:${spring.cloud.client.ipAddress}:${spring.application.instance_id:${server.port}} ##################################################################################################### # 打印日志 logging: level: root: INFO com.springms: DEBUG ##################################################################################################### ##################################################################################################### # 異構(gòu)微服務(wù)的配置, port 代表異構(gòu)微服務(wù)的端口;health-uri 代表異構(gòu)微服務(wù)的操作鏈接地址 sidecar: port: 8205 health-uri: http://localhost:8205/health.json #####################################################################################################2.3 添加sidecar微服務(wù)啟動(dòng)類(springms-sidecarsrcmainjavacomspringmscloudMsSideCarApplication.java)
package com.springms.cloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.sidecar.EnableSidecar; /** * 集成異構(gòu)微服務(wù)系統(tǒng)到 SpringCloud 生態(tài)圈中(比如集成 nodejs 微服務(wù))。 * * 注意 EnableSidecar 注解能注冊到 eureka 服務(wù)上,是因?yàn)樵撟⒔獍?eureka 客戶端的注解,該 EnableZuulProxy 是一個(gè)復(fù)合注解。 * * @EnableSidecar --> { @EnableCircuitBreaker、@EnableDiscoveryClient、@EnableZuulProxy } 包含了 eureka 客戶端注解,同時(shí)也包含了 Hystrix 斷路器模塊注解,還包含了 zuul API網(wǎng)關(guān)模塊。 * * @author hmilyylimh * * @version 0.0.1 * * @date 2017/9/28 * */ @SpringBootApplication @EnableSidecar public class MsSideCarApplication { public static void main(String[] args) { SpringApplication.run(MsSideCarApplication.class, args); System.out.println("【【【【【【 SideCar 微服務(wù) 】】】】】】已啟動(dòng)."); } }三、測試
/**************************************************************************************** 一、集成異構(gòu)微服務(wù)系統(tǒng)到 SpringCloud 生態(tài)圈中(比如集成 nodejs 微服務(wù))(正常情況測試): 1、編寫 application.yml 文件,添加應(yīng)用程序的注解 EnableSidecar 配置; 2、啟動(dòng) springms-discovery-eureka 模塊服務(wù),啟動(dòng)1個(gè)端口; 3、啟動(dòng) springms-gateway-zuul-fallback 模塊服務(wù),啟動(dòng)1個(gè)端口; 4、啟動(dòng) springms-sidecar 模塊服務(wù),啟動(dòng)1個(gè)端口; 5、啟動(dòng) springms-node-service 微服務(wù),啟動(dòng)1個(gè)端口; 6、新起網(wǎng)頁頁簽,輸入 http://localhost:8205/ 正常情況下是能看到 "歡迎來到簡單異構(gòu)系統(tǒng)之 nodejs 服務(wù)首頁" 信息被打印出來; 7、新起網(wǎng)頁頁簽,然后輸入 http://localhost:8205/health.json,正常情況下是能看到 "{"status":"UP"}" 信息被打印出來; 總結(jié)一:nodejs 微服務(wù),自己訪問自己都是正常的; 8、新起網(wǎng)頁頁簽,輸入 http://localhost:8200/springms-sidecar/ 正常情況下是能看到 "歡迎來到簡單異構(gòu)系統(tǒng)之 nodejs 服務(wù)首頁" 信息被打印出來; 9、新起網(wǎng)頁頁簽,然后輸入 http://localhost:8200/springms-sidecar/health.json,正常情況下是能看到 "{"status":"UP"}" 信息被打印出來; 總結(jié)二:通過在yml配置文件中添加 sidecar 屬性,就可以將異構(gòu)系統(tǒng)添加到SpringCloud生態(tài)圈中,完美無縫銜接; ****************************************************************************************/ /**************************************************************************************** 二、集成異構(gòu)微服務(wù)系統(tǒng)到 SpringCloud 生態(tài)圈中(比如集成 nodejs 微服務(wù))(除了包含異構(gòu)微服務(wù)外,還添加 Ribbon 模塊電影微服務(wù)): 1、編寫 application.yml 文件,添加應(yīng)用程序的注解 EnableSidecar 配置; 2、啟動(dòng) springms-discovery-eureka 模塊服務(wù),啟動(dòng)1個(gè)端口; 3、啟動(dòng) springms-gateway-zuul-fallback 模塊服務(wù),啟動(dòng)1個(gè)端口; 4、啟動(dòng) springms-sidecar 模塊服務(wù),啟動(dòng)1個(gè)端口; 5、啟動(dòng) springms-consumer-movie-ribbon 模塊服務(wù),啟動(dòng)1個(gè)端口; 6、啟動(dòng) springms-node-service 微服務(wù),啟動(dòng)1個(gè)端口; 7、新起網(wǎng)頁頁簽,輸入 http://localhost:8205/ 正常情況下是能看到 "歡迎來到簡單異構(gòu)系統(tǒng)之 nodejs 服務(wù)首頁" 信息被打印出來; 8、新起網(wǎng)頁頁簽,然后輸入 http://localhost:8205/health.json 正常情況下是能看到 "{"status":"UP"}" 信息被打印出來; 總結(jié)一:nodejs 微服務(wù),自己訪問自己都是正常的; 9、新起網(wǎng)頁頁簽,輸入 http://localhost:8200/springms-sidecar/ 正常情況下是能看到 "歡迎來到簡單異構(gòu)系統(tǒng)之 nodejs 服務(wù)首頁" 信息被打印出來; 10、新起網(wǎng)頁頁簽,然后輸入 http://localhost:8200/springms-sidecar/health.json 正常情況下是能看到 "{"status":"UP"}" 信息被打印出來; 總結(jié)二:通過 Zuul 代理模塊,統(tǒng)一入口路徑,也可以從 zuul 上成功訪問異構(gòu)系統(tǒng); 11、新起網(wǎng)頁頁簽,輸入 http://localhost:8010/sidecar/ 正常情況下是能看到 "歡迎來到簡單異構(gòu)系統(tǒng)之 nodejs 服務(wù)首頁" 信息被打印出來; 12、新起網(wǎng)頁頁簽,然后輸入 http://localhost:8010/sidecar/health.json 正常情況下是能看到 "{"status":"UP"}" 信息被打印出來; 總結(jié)三:給 springms-consumer-movie-ribbon 微服務(wù)添加幾個(gè)方法,也可以成功訪問以異構(gòu)系統(tǒng),可見利用 SpringCloud 來集成異構(gòu)系統(tǒng)簡便了很多; ****************************************************************************************/四、下載地址
https://gitee.com/ylimhhmily/SpringCloudTutorial.git
SpringCloudTutorial交流QQ群: 235322432
SpringCloudTutorial交流微信群: 微信溝通群二維碼圖片鏈接
歡迎關(guān)注,您的肯定是對我最大的支持!!!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67622.html
摘要:第篇電影微服務(wù),也注冊到中,通過協(xié)議訪問已注冊到生態(tài)圈中的用戶微服務(wù)一大致介紹在服務(wù)治理框架中,微服務(wù)與微服務(wù)之間通過協(xié)議進(jìn)行通信用戶微服務(wù)作為消費(fèi)方電影微服務(wù)作為提供方都注冊到中在電影微服務(wù)層通過的硬編碼配置方式實(shí)現(xiàn)服務(wù)之間的通信二實(shí)現(xiàn) SpringCloud(第 005 篇)電影微服務(wù),也注冊到 EurekaServer 中,通過 Http 協(xié)議訪問已注冊到生態(tài)圈中的用戶微服務(wù) -...
摘要:第篇簡單異構(gòu)系統(tǒng)之微服務(wù)一大致介紹因?yàn)樵诤竺嬉眉僧悩?gòu)系統(tǒng),所以才有了本章節(jié)的微服務(wù)本章節(jié)使用了最簡單的請求截取的方式,截取不同的后綴做不同的響應(yīng)處理,簡直二實(shí)現(xiàn)步驟添加服務(wù)端文件引入模塊創(chuàng)建獲得請求的路徑訪問,將會(huì)返回歡迎 SpringCloud(第 026 篇)簡單異構(gòu)系統(tǒng)之 nodejs 微服務(wù) - 一、大致介紹 1、因?yàn)樵诤竺嬉?SpringCloud 集成異構(gòu)系統(tǒng),所...
摘要:第篇服務(wù)發(fā)現(xiàn)服務(wù)端微服務(wù)一大致介紹眾所周知,在現(xiàn)在互聯(lián)網(wǎng)開發(fā)中,訪問地址的和端口號(hào)是動(dòng)態(tài)的,一個(gè)服務(wù)停掉再重新啟用后和端口就可能發(fā)生了改變,所以用硬編碼是肯定不行了。再對外提供服務(wù)的時(shí)候便不再使用掛掉的服務(wù)提供者的和端口。 SpringCloud(第 003 篇)服務(wù)發(fā)現(xiàn)服務(wù)端EurekaServer微服務(wù) - 一、大致介紹 1、眾所周知,在現(xiàn)在互聯(lián)網(wǎng)開發(fā)中,訪問地址的IP和端口號(hào)是...
摘要:當(dāng)前時(shí)間打印當(dāng)前時(shí)間定時(shí)任務(wù)觸發(fā),操作多個(gè)添加數(shù)據(jù),事務(wù)中任一異常,都可以正常導(dǎo)致數(shù)據(jù)回滾。當(dāng)前時(shí)間當(dāng)前時(shí)間添加微服務(wù)啟動(dòng)類注解式配置定時(shí)任務(wù),不支持任務(wù)調(diào)度。 SpringCloud(第 046 篇)注解式Schedule配置定時(shí)任務(wù),不支持任務(wù)調(diào)度 - 一、大致介紹 1、很多時(shí)候我們需要隔一定的時(shí)間去執(zhí)行某個(gè)任務(wù),為了實(shí)現(xiàn)這樣的需求通常最普通的方式就是利用多線程來實(shí)現(xiàn); 2、但是有...
摘要:添加電影微服務(wù)啟動(dòng)類電影微服務(wù)接入進(jìn)行客戶端負(fù)載均衡,通過調(diào)用遠(yuǎn)程微服務(wù)。注解表示該電影微服務(wù)已經(jīng)接入模塊。 SpringCloud(第 012 篇)電影微服務(wù)接入 Feign 進(jìn)行客戶端負(fù)載均衡,通過 FeignClient 調(diào)用遠(yuǎn)程 Http 微服務(wù) - 一、大致介紹 1、本章節(jié)主要介紹在 SpringCloud 生態(tài)圈中,使用一個(gè)類似于 Java HTTP 客戶端的工具 Feig...
閱讀 3010·2021-10-13 09:39
閱讀 2706·2021-09-27 13:34
閱讀 2046·2019-08-30 15:55
閱讀 3269·2019-08-30 15:43
閱讀 3650·2019-08-30 11:16
閱讀 1769·2019-08-26 18:28
閱讀 1302·2019-08-26 13:56
閱讀 928·2019-08-26 13:35