SpringCloud(第 051 篇)EurekaServer集群高可用注冊中心以及簡單的安全認(rèn)證
-
一、大致介紹1、前面章節(jié)分析了一下 Eureka 的源碼,我們是不是在里面注意到了 Peer 節(jié)點(diǎn)的復(fù)制,為什么要復(fù)制節(jié)點(diǎn)同步信息呢,其實就是為了同一個集群之間的EurekaServer一致性方案的一個實現(xiàn); 2、于是我們在本章節(jié)就真正的來通過代碼來實現(xiàn)一下EurekaServer之間的高可用注冊中心。 3、至于所謂的安全認(rèn)證,就是在我們的客戶端配置defaultZone屬性環(huán)節(jié),要帶上用戶名密碼才可以注冊到高可用注冊中心去;二、實現(xiàn)步驟 2.1 添加 maven 引用包
2.2 添加應(yīng)用默認(rèn)配置文件(springms-discovery-eureka-hasrcmainresourcesapplication.yml)4.0.0 springms-discovery-eureka-ha 1.0-SNAPSHOT jar com.springms.cloud springms-spring-cloud 1.0-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka-server org.springframework.boot spring-boot-starter-security
spring: application: name: springms-discovery-eureka-ha profiles: # 主要激活哪個配置文件,如果有不清楚的話,可以回頭看看 Config 配置相關(guān)的知識,比如 springms-config-client、springms-config-server active: peer12.3 添加應(yīng)用peer1節(jié)點(diǎn)默認(rèn)配置文件(springms-discovery-eureka-hasrcmainresourcesapplication-peer1.yml)
# 配置 eureka 登錄密碼,輸入地址 http://localhost:8761 時候就需要輸入這個用戶名密碼登錄進(jìn)去 security: basic: enabled: true user: name: admin password: admin server: port: 8401 eureka: datacenter: SpringCloud # 修改 http://localhost:8761 地址 Eureka 首頁上面 System Status 的 Data center 顯示信息 environment: Test # 修改 http://localhost:8761 地址 Eureka 首頁上面 System Status 的 Environment 顯示信息 instance: hostname: peer1 instance-id: ${spring.application.name}:${server.port} client: # register-with-eureka: false # fetch-registry: false service-url: defaultZone: http://admin:admin@peer2:8402/eureka,http://admin:admin@peer3:8403/eureka2.4 添加應(yīng)用peer2節(jié)點(diǎn)默認(rèn)配置文件(springms-discovery-eureka-hasrcmainresourcesapplication-peer2.yml)
# 配置 eureka 登錄密碼,輸入地址 http://localhost:8761 時候就需要輸入這個用戶名密碼登錄進(jìn)去 security: basic: enabled: true user: name: admin password: admin server: port: 8402 eureka: datacenter: SpringCloud # 修改 http://localhost:8761 地址 Eureka 首頁上面 System Status 的 Data center 顯示信息 environment: Test # 修改 http://localhost:8761 地址 Eureka 首頁上面 System Status 的 Environment 顯示信息 instance: hostname: peer2 instance-id: ${spring.application.name}:${server.port} client: # register-with-eureka: false # fetch-registry: false service-url: defaultZone: http://admin:admin@peer1:8401/eureka,http://admin:admin@peer3:8403/eureka2.5 添加應(yīng)用peer3節(jié)點(diǎn)默認(rèn)配置文件(springms-discovery-eureka-hasrcmainresourcesapplication-peer3.yml)
# 配置 eureka 登錄密碼,輸入地址 http://localhost:8761 時候就需要輸入這個用戶名密碼登錄進(jìn)去 security: basic: enabled: true user: name: admin password: admin server: port: 8403 eureka: datacenter: SpringCloud # 修改 http://localhost:8761 地址 Eureka 首頁上面 System Status 的 Data center 顯示信息 environment: Test # 修改 http://localhost:8761 地址 Eureka 首頁上面 System Status 的 Environment 顯示信息 instance: hostname: peer3 instance-id: ${spring.application.name}:${server.port} client: # register-with-eureka: false # fetch-registry: false service-url: defaultZone: http://admin:admin@peer1:8401/eureka,http://admin:admin@peer2:8402/eureka2.6 添加 EurekaServer 微服務(wù)啟動類(springms-discovery-eureka-hasrcmainjavacomspringmscloudEurekaServerHaApplication.java)
package com.springms.cloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; /** * 服務(wù)發(fā)現(xiàn)服務(wù)端EurekaServer微服務(wù)高可用。三、測試
* * Eureka默認(rèn)端口是8761 * http://localhost:8761/eureka/apps 可以查看注冊到該服務(wù)器上的一堆微服務(wù)實例的信息。 * * @author hmilyylimh * * @version 0.0.1 * * @date 2017/10/25 * */ @SpringBootApplication @EnableEurekaServer public class EurekaServerHaApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerHaApplication.class, args); System.out.println("【【【【【【 EurekaHa微服務(wù) 】】】】】】已啟動."); } }
測試之前,我們得配置一下Run Configuration,如何快速啟動運(yùn)行三個EurekaServer微服務(wù); 在 Run/Debug Configuration(新建一個Spring Boot) -> Spring Boot -> EurekaServerHaApplication_8401_peer1(給界面頂部 Name 字段屬性命名) -> Configuration -> Spring Boot Settings -> Active Profiles: Peer1 在 Run/Debug Configuration(新建一個Spring Boot) -> Spring Boot -> EurekaServerHaApplication_8402_peer2(給界面頂部 Name 字段屬性命名) -> Configuration -> Spring Boot Settings -> Active Profiles: Peer2 在 Run/Debug Configuration(新建一個Spring Boot) -> Spring Boot -> EurekaServerHaApplication_8403_peer3(給界面頂部 Name 字段屬性命名) -> Configuration -> Spring Boot Settings -> Active Profiles: Peer3 /**************************************************************************************** 測試一:EurekaServer集群高可用注冊中心以及簡單的安全認(rèn)證(正常測試): 1、注解:EnableEurekaClient 2、按照上面依次運(yùn)行啟動 EurekaServerHaApplication_8401_peer1、EurekaServerHaApplication_8402_peer2、EurekaServerHaApplication_8403_peer3 模塊服務(wù),啟動3個端口; 3、在瀏覽器輸入地址 http://localhost:8401 并輸入用戶名密碼 admin/admin 進(jìn)入 8401 端口這臺服務(wù)正常啟動; 4、在瀏覽器輸入地址 http://localhost:8402 并輸入用戶名密碼 admin/admin 進(jìn)入 8402 端口這臺服務(wù)正常啟動; 5、在瀏覽器輸入地址 http://localhost:8403 并輸入用戶名密碼 admin/admin 進(jìn)入 8403 端口這臺服務(wù)正常啟動; 6、注意一下,當(dāng)前已經(jīng)注冊的實例信息里面,都有三臺微服務(wù),說明小小的高可用集群已經(jīng)呈現(xiàn)在大家的眼前了; ****************************************************************************************/ /**************************************************************************************** 測試二:用戶微服務(wù)接口測試(采用 springms-provider-user 給 springms-discovery-eureka-ha 模塊做測試,測試EurekaClient客戶端注冊進(jìn)EurekaServer高可用集群中): 1、注解:EnableEurekaClient 2、修改 defaultZone 的接入地址值如下: ################################################################################### # 測試二:測試EurekaClient客戶端注冊進(jìn)EurekaServer高可用集群中 defaultZone: http://admin:admin@peer1:8401/eureka,,http://admin:admin@peer2:8402/eureka,,http://admin:admin@peer3:8403/eureka ################################################################################### 3、啟動 springms-discovery-eureka-ha 模塊服務(wù),啟動3個端口; 4、啟動 springms-provider-user 模塊服務(wù),啟動1個端口; 5、在瀏覽器輸入地址http://localhost:7900/simple/1 可以看到信息成功的被打印出來,說明用戶微服務(wù)正常; 6、在瀏覽器輸入地址 http://localhost:8401 并輸入用戶名密碼 admin/admin 進(jìn)入Eureka微服務(wù)顯示在網(wǎng)頁中,說明用戶微服務(wù)確實注冊到了 eureka 服務(wù)中; 7、在瀏覽器輸入地址 http://localhost:8401/eureka/apps/springms-provider-user 可以看到自定義的四、下載地址信息以及用戶微服務(wù)的相關(guān)信息成功的被展示出來了; 8、在瀏覽器輸入地址 http://localhost:8402/eureka/apps/springms-provider-user 可以看到自定義的 信息以及用戶微服務(wù)的相關(guān)信息成功的被展示出來了; 9、在瀏覽器輸入地址 http://localhost:8403/eureka/apps/springms-provider-user 可以看到自定義的 信息以及用戶微服務(wù)的相關(guān)信息成功的被展示出來了; 注意:這里我們要回到 springms-provider-user 項目代碼中稍微修改,也寫了一個對應(yīng)的《測試二》測試步驟,即可實現(xiàn)我們這個高可用的《測試二》樣例,; ****************************************************************************************/
https://gitee.com/ylimhhmily/SpringCloudTutorial.git
SpringCloudTutorial交流QQ群: 235322432
SpringCloudTutorial交流微信群: 微信溝通群二維碼圖片鏈接
歡迎關(guān)注,您的肯定是對我最大的支持!!!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/67878.html
摘要:接收參數(shù)對象添加用戶微服務(wù)啟動類用戶服務(wù)類添加服務(wù)注冊,將用戶微服務(wù)注冊到中。 SpringCloud(第 004 篇)用戶服務(wù)類(添加服務(wù)注冊,將用戶微服務(wù)注冊到 EurekaServer 中) - 一、大致介紹 通過添加注解 EnableEurekaClient,將用戶微服務(wù)注冊到 EurekaServer 中。 二、實現(xiàn)步驟 2.1 添加 maven 引用包 4.0....
摘要:第篇服務(wù)發(fā)現(xiàn)服務(wù)端微服務(wù)一大致介紹眾所周知,在現(xiàn)在互聯(lián)網(wǎng)開發(fā)中,訪問地址的和端口號是動態(tài)的,一個服務(wù)停掉再重新啟用后和端口就可能發(fā)生了改變,所以用硬編碼是肯定不行了。再對外提供服務(wù)的時候便不再使用掛掉的服務(wù)提供者的和端口。 SpringCloud(第 003 篇)服務(wù)發(fā)現(xiàn)服務(wù)端EurekaServer微服務(wù) - 一、大致介紹 1、眾所周知,在現(xiàn)在互聯(lián)網(wǎng)開發(fā)中,訪問地址的IP和端口號是...
摘要:是一個相對比較新的微服務(wù)框架,年才推出的版本雖然時間最短但是相比等框架提供的全套的分布式系統(tǒng)解決方案。提供線程池不同的服務(wù)走不同的線程池,實現(xiàn)了不同服務(wù)調(diào)用的隔離,避免了服務(wù)器雪崩的問題。通過互相注冊的方式來進(jìn)行消息同步和保證高可用。 Spring Cloud 是一個相對比較新的微服務(wù)框架,...
摘要:集群系統(tǒng)中的單個計算機(jī)通常稱為節(jié)點(diǎn),通常通過局域網(wǎng)連接,但也有其它的可能連接方式。這樣就高興了,可以專心寫自己的,前端就專門交由小周負(fù)責(zé)了。于是,小周和就變成了協(xié)作開發(fā)。都是為了項目正常運(yùn)行以及迭代。 一、前言 只有光頭才能變強(qiáng) 認(rèn)識我的朋友可能都知道我這陣子去實習(xí)啦,去的公司說是用SpringCloud(但我覺得使用的力度并不大啊~~)... 所以,這篇主要來講講SpringClou...
閱讀 2715·2021-11-22 13:52
閱讀 1184·2021-10-14 09:43
閱讀 3640·2019-08-30 15:56
閱讀 2952·2019-08-30 13:22
閱讀 3269·2019-08-30 13:10
閱讀 1563·2019-08-26 13:45
閱讀 1102·2019-08-26 11:47
閱讀 2789·2019-08-23 18:13