摘要:注意注解能注冊到服務上,是因為該注解包含了客戶端的注解,該是一個復合注解。包含了客戶端注解,同時也包含了斷路器模塊注解,還包含了網關模塊。
SpringCloud(第 027 篇)集成異構微服務系統到 SpringCloud 生態圈中(比如集成 nodejs 微服務)
-
一、大致介紹1、在一些稍微復雜點系統中,往往都不是單一代碼寫的服務,而恰恰相反集成了各種語言寫的系統,并且我們還要很好的解耦合集成到自己的系統中; 2、出于上述現狀,SpringCloud 生態圈中給我們提供了很好的插件式服務,利用 sidecar 我們也可以輕松方便的集成異構系統到我們自己的系統來; 3、而本章節目的就是為了解決輕松簡便的集成異構系統到自己的微服務系統中來的;二、實現步驟 2.1 添加 maven 引用包
2.2 添加應用配置文件(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 ##################################################################################################### ##################################################################################################### # 異構微服務的配置, port 代表異構微服務的端口;health-uri 代表異構微服務的操作鏈接地址 sidecar: port: 8205 health-uri: http://localhost:8205/health.json #####################################################################################################2.3 添加sidecar微服務啟動類(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; /** * 集成異構微服務系統到 SpringCloud 生態圈中(比如集成 nodejs 微服務)。 * * 注意 EnableSidecar 注解能注冊到 eureka 服務上,是因為該注解包含了 eureka 客戶端的注解,該 EnableZuulProxy 是一個復合注解。 * * @EnableSidecar --> { @EnableCircuitBreaker、@EnableDiscoveryClient、@EnableZuulProxy } 包含了 eureka 客戶端注解,同時也包含了 Hystrix 斷路器模塊注解,還包含了 zuul API網關模塊。 * * @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 微服務 】】】】】】已啟動."); } }三、測試
/**************************************************************************************** 一、集成異構微服務系統到 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"}" 信息被打印出來; 總結一:nodejs 微服務,自己訪問自己都是正常的; 8、新起網頁頁簽,輸入 http://localhost:8200/springms-sidecar/ 正常情況下是能看到 "歡迎來到簡單異構系統之 nodejs 服務首頁" 信息被打印出來; 9、新起網頁頁簽,然后輸入 http://localhost:8200/springms-sidecar/health.json,正常情況下是能看到 "{"status":"UP"}" 信息被打印出來; 總結二:通過在yml配置文件中添加 sidecar 屬性,就可以將異構系統添加到SpringCloud生態圈中,完美無縫銜接; ****************************************************************************************/ /**************************************************************************************** 二、集成異構微服務系統到 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"}" 信息被打印出來; 總結一:nodejs 微服務,自己訪問自己都是正常的; 9、新起網頁頁簽,輸入 http://localhost:8200/springms-sidecar/ 正常情況下是能看到 "歡迎來到簡單異構系統之 nodejs 服務首頁" 信息被打印出來; 10、新起網頁頁簽,然后輸入 http://localhost:8200/springms-sidecar/health.json 正常情況下是能看到 "{"status":"UP"}" 信息被打印出來; 總結二:通過 Zuul 代理模塊,統一入口路徑,也可以從 zuul 上成功訪問異構系統; 11、新起網頁頁簽,輸入 http://localhost:8010/sidecar/ 正常情況下是能看到 "歡迎來到簡單異構系統之 nodejs 服務首頁" 信息被打印出來; 12、新起網頁頁簽,然后輸入 http://localhost:8010/sidecar/health.json 正常情況下是能看到 "{"status":"UP"}" 信息被打印出來; 總結三:給 springms-consumer-movie-ribbon 微服務添加幾個方法,也可以成功訪問以異構系統,可見利用 SpringCloud 來集成異構系統簡便了很多; ****************************************************************************************/四、下載地址
https://gitee.com/ylimhhmily/SpringCloudTutorial.git
SpringCloudTutorial交流QQ群: 235322432
SpringCloudTutorial交流微信群: 微信溝通群二維碼圖片鏈接
歡迎關注,您的肯定是對我最大的支持!!!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67622.html
摘要:第篇電影微服務,也注冊到中,通過協議訪問已注冊到生態圈中的用戶微服務一大致介紹在服務治理框架中,微服務與微服務之間通過協議進行通信用戶微服務作為消費方電影微服務作為提供方都注冊到中在電影微服務層通過的硬編碼配置方式實現服務之間的通信二實現 SpringCloud(第 005 篇)電影微服務,也注冊到 EurekaServer 中,通過 Http 協議訪問已注冊到生態圈中的用戶微服務 -...
摘要:第篇簡單異構系統之微服務一大致介紹因為在后面要利用集成異構系統,所以才有了本章節的微服務本章節使用了最簡單的請求截取的方式,截取不同的后綴做不同的響應處理,簡直二實現步驟添加服務端文件引入模塊創建獲得請求的路徑訪問,將會返回歡迎 SpringCloud(第 026 篇)簡單異構系統之 nodejs 微服務 - 一、大致介紹 1、因為在后面要利用 SpringCloud 集成異構系統,所...
摘要:第篇服務發現服務端微服務一大致介紹眾所周知,在現在互聯網開發中,訪問地址的和端口號是動態的,一個服務停掉再重新啟用后和端口就可能發生了改變,所以用硬編碼是肯定不行了。再對外提供服務的時候便不再使用掛掉的服務提供者的和端口。 SpringCloud(第 003 篇)服務發現服務端EurekaServer微服務 - 一、大致介紹 1、眾所周知,在現在互聯網開發中,訪問地址的IP和端口號是...
摘要:當前時間打印當前時間定時任務觸發,操作多個添加數據,事務中任一異常,都可以正常導致數據回滾。當前時間當前時間添加微服務啟動類注解式配置定時任務,不支持任務調度。 SpringCloud(第 046 篇)注解式Schedule配置定時任務,不支持任務調度 - 一、大致介紹 1、很多時候我們需要隔一定的時間去執行某個任務,為了實現這樣的需求通常最普通的方式就是利用多線程來實現; 2、但是有...
摘要:添加電影微服務啟動類電影微服務接入進行客戶端負載均衡,通過調用遠程微服務。注解表示該電影微服務已經接入模塊。 SpringCloud(第 012 篇)電影微服務接入 Feign 進行客戶端負載均衡,通過 FeignClient 調用遠程 Http 微服務 - 一、大致介紹 1、本章節主要介紹在 SpringCloud 生態圈中,使用一個類似于 Java HTTP 客戶端的工具 Feig...
閱讀 2993·2021-10-13 09:39
閱讀 2694·2021-09-27 13:34
閱讀 2031·2019-08-30 15:55
閱讀 3260·2019-08-30 15:43
閱讀 3631·2019-08-30 11:16
閱讀 1748·2019-08-26 18:28
閱讀 1284·2019-08-26 13:56
閱讀 915·2019-08-26 13:35