接上篇文章:https://mp.csdn.net/postedit/103089572
demo代碼地址:https://download.csdn.net/download/qq_33333654/12014918
所謂高可用也是保證客戶端調用服務端的時候能正常調用。解決方案就是服務端做成集羣方式。
首先修改server項目
啓動類添加註解: @EnableDiscoveryClient
接下來就是把服務端做成多個項目進行註冊中心註冊。這裏我簡單粗暴一點,複製項目文件夾,文件夾名稱修改爲:spring-cloud-config-server22
IDEA打卡該server22項目。
修改application.yml配置文件:
server: port: 9022 eureka: client: service-url: defaultZone: http://peer1:8000/eureka/,http://peer2:8001/eureka/,http://peer3:8002/eureka/ spring: application: name: spring-cloud-config-server profiles: active: native
修改native-mysql.properties文件內容:
native.hello=hello_i_im_mysql_update
分別啓動server項目與server22項目,打開註冊中心,查看:
註冊中心配置成功。
接下來就是修改客戶端項目。
首先client項目啓動類添加註解:@EnableDiscoveryClient
修改application.yml文件:
server: port: 9021 spring: application: name: spring-cloud-config-client management: security: enabled: false #springboot 1.5.X以上默認開通了安全認證
注意這裏沒有了註冊中心的配置。
修改bootstrap.yml文件:
spring: cloud: config: discovery: enabled: true serviceId: spring-cloud-config-server # uri: http://localhost:9020/ name: native profile: mysql lable: master eureka: client: service-url: defaultZone: http://peer1:8000/eureka/,http://peer2:8001/eureka/,http://peer3:8002/eureka/
註冊中心遷移到這裏來了,特別注意,刪除了uri,修改爲了
discovery:
enabled: true
serviceId: spring-cloud-config-server
這個非常重要。
接下來啓動client項目。
訪問:http://localhost:9021/hello
返回的是
native.hello=hello_i_im_mysql_update
然後我們手動將server項目關閉。
打開cmd命令窗口,執行:curl -X POST http://localhost:9021/refresh
已經刷新了配置文件,然後再次訪問 http://localhost:9021/hello
OK完成