SpringCloud 分布式配置中心服务化与高可用
个人学习SpringCloud系列 分布式配置中心服务化与高可用篇Github Link: https://github.com/panjianlong13/SpringBoot-SpringCloud/tree/master/spring-cloud-config-eureka)代码大部分参考(https://github.com/souyunku/SpringCloudExamples...
个人学习SpringCloud系列 分布式配置中心服务化与高可用篇
Github Link: https://github.com/panjianlong13/SpringBoot-SpringCloud/tree/master/spring-cloud-config-eureka)
代码大部分参考(https://github.com/souyunku/SpringCloudExamples/tree/master/spring-cloud-config-eureka)
客户端都是直接调用配置中心的server端来获取配置文件信息。这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,server端改变IP地址的时候,客户端也需要修改配置,不符合springcloud服务治理的理念。springcloud提供了这样的解决方案,我们只需要将server端当做一个服务注册到eureka中,client端去eureka中去获取配置中心server端的服务既可。
Eureka Service Server
作为服务注册中心,端口8761,此处不再详述
Eureka Provide
spring-cloud-eureka-provider-1
8081spring-cloud-eureka-provider-2
8082spring-cloud-eureka-provider-3
8083
作为服务提供者
添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
开启服务注册
application.properties
spring.application.name=eureka-provider
server.port=8081
spring.cloud.config.label=master
spring.cloud.config.profile=dev
#spring.cloud.config.uri=http://localhost:8888/
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
spring.cloud.config.discovery.enabled=true
//Get Config By Calling Config Server (ServiceId)
spring.cloud.config.discovery.serviceId=config-server
Feign Consumer
服务消费者,端口9000
添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
application.properties
Config Server
配置中心,端口8888,添加依赖,相比上篇加入Eureka
application.properties
依次启动Eureka Server,Config Server,Provider和Feign Consumer,在Eureka界面中可以看到 http://localhost:8761/
访问http://127.0.0.1:9000/hello ,可以通过不同的Provider得到参数值
配置中心高可用
为了模拟生产集群环境,此处启动两个Config Server,会有两个server端同时提供配置中心的服务,防止某一台down掉之后影响整个系统的使用。新的一台Config Server端口为8889
当模拟一台宕机情况停掉Config1时,配置中心服务仍可使用,实现了配置服务的高可用
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)