###为什么要用集群?
答案很简单,在微服务中,单点服务是不可靠的,所以要用集群。
###怎么使用集群
本次我们做的教程的示例部署图,将有两台config服务器 一台eureka服务器 一台config客户端,部署图如下
1.建eureka服务器 cloud-eureka-config-server,这里依赖不再赘述,application.properties,配置如下:
#注册实例名
spring.application.name=eureka-server
#访问端口
server.port=8081
eureka.instance.hostname=localhost
#指示此实例是否应将其信息注册到eureka服务器以供其他人发现。在某些情况下,您不希望发现实例,而您只想发现其他实例。
eureka.client.registerWithEureka=false
#指示该客户端是否应从eureka服务器获取eureka注册表信息
eureka.client.fetchRegistry=false
#注册地址
eureka.client.serviceUrl.defaultZone:http://localhost:8081/eureka/
2.新建 cloud-eureka-configservice-A cloud-eureka-configservice-B两个config-server,
pom依赖如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
cloud-eureka-configservice-A application.properties,配置如下:
server.port=8083
spring.application.name=cloud-config-server
spring.cloud.config.server.git.uri=https://gitee.com/wangxiaoml/springCloud.git
spring.cloud.config.server.git.username=181601156@qq.com
spring.cloud.config.server.git.password=wangxiao6318
#配置文件存放的git的文件路径
spring.cloud.config.server.git.searchPaths=config-repo
#注入eureka地址
eureka.client.serviceUrl.defaultZone:http://localhost:8081/eureka/
cloud-eureka-configservice-B application.properties,配置如下:
server.port=8082
spring.application.name=cloud-config-server
spring.cloud.config.server.git.uri=https://gitee.com/wangxiaoml/springCloud.git
spring.cloud.config.server.git.username=181601156@qq.com
spring.cloud.config.server.git.password=wangxiao6318
#配置文件存放的git的文件路径
spring.cloud.config.server.git.searchPaths=config-repo
#注入eureka地址
eureka.client.serviceUrl.defaultZone:http://localhost:8081/eureka/
3.新建cloud-eureka-configclient config客户端
pom依赖如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
配置 bootstrap.properties 文件:
spring.application.name=cloud-client
spring.cloud.config.label=master
spring.cloud.config.profile=test
#开启eureka模式
spring.cloud.config.discovery.enabled=true
#eureka注册地址
eureka.client.serviceUrl.defaultZone:http://localhost:8081/eureka/
#eureka 调用服务ID
spring.cloud.config.discovery.serviceId=cloud-config-server
server.port=8084
#关闭验证
management.security.enabled=false
4.分别启动cloud-eureka-config-server cloud-eureka-configservice-A cloud-eureka-configservice-B
cloud-eureka-configclient
访问:http://127.0.0.1:8081/ ,确认三个服务都已经正常注册
访问:http://127.0.0.1:8084/ 能够正常访问配置文件:
停掉cloud-eureka-configservice-A cloud-eureka-configservice-B 其中任意一台,变更配置文件,刷新,服务访问依然不会受影响
###示例代码戳我下载