博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
企业级 SpringCloud 教程 (七)高可用的分布式配置中心(Spring Cloud Config)
阅读量:7170 次
发布时间:2019-06-29

本文共 4759 字,大约阅读时间需要 15 分钟。

hot3.png

一、准备工作

继续使用上一篇文章的工程,创建一个eureka-server工程,用作服务注册中心。

在其pom.xml文件引入Eureka的起步依赖spring-cloud-starter-eureka-server,代码如下:

4.0.0
com.forezp
eureka-server
0.0.1-SNAPSHOT
jar
eureka-server
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
1.5.2.RELEASE
UTF-8
UTF-8
1.8
org.springframework.cloud
spring-cloud-starter-eureka-server
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-dependencies
Dalston.RC1
pom
import
org.springframework.boot
spring-boot-maven-plugin
spring-milestones
Spring Milestones
https://repo.spring.io/milestone
false

在配置文件application.yml上,指定服务端口为8889,加上作为服务注册中心的基本配置,代码如下:

server:  port: 8889eureka:  instance:    hostname: localhost  client:    registerWithEureka: false    fetchRegistry: false    serviceUrl:      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

入口类:

@EnableEurekaServer@SpringBootApplicationpublic class EurekaServerApplication {    public static void main(String[] args) {        SpringApplication.run(EurekaServerApplication.class, args);    }}

二、改造config-server

在其pom.xml文件加上EurekaClient的起步依赖spring-cloud-starter-eureka,代码如下:

org.springframework.cloud
spring-cloud-config-server
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-starter-eureka

配置文件application.yml,其他配置同上一篇文章,完整的配置如下:

spring.application.name=config-serverserver.port=8888spring.cloud.config.server.git.uri=https://github.com/forezp/SpringcloudConfig/spring.cloud.config.server.git.searchPaths=respospring.cloud.config.label=masterspring.cloud.config.server.git.username= your usernamespring.cloud.config.server.git.password= your passwordeureka.client.serviceUrl.defaultZone=http://localhost:8889/eureka/

最后需要在程序的启动类Application加上@EnableEureka的注解。

三、改造config-client

将其注册微到服务注册中心,作为Eureka客户端,需要pom文件加上起步依赖spring-cloud-starter-eureka,代码如下:

org.springframework.cloud
spring-cloud-starter-config
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-eureka
org.springframework.boot
spring-boot-starter-test
test

配置文件bootstrap.properties,注意是bootstrap。

spring.application.name=config-clientspring.cloud.config.label=masterspring.cloud.config.profile=dev#spring.cloud.config.uri= http://localhost:8888/eureka.client.serviceUrl.defaultZone=http://localhost:8889/eureka/spring.cloud.config.discovery.enabled=truespring.cloud.config.discovery.serviceId=config-serverserver.port=8881
  • spring.cloud.config.discovery.enabled 是从配置中心读取文件。
  • spring.cloud.config.discovery.serviceId 配置中心的servieId,即服务名。

这时发现,在读取配置文件不再写ip地址,而是服务名,这时如果配置服务部署多份,通过负载均衡,从而高可用。

转载于:https://my.oschina.net/u/3773422/blog/1614859

你可能感兴趣的文章
我所说的“企业存储”是什么意思
查看>>
我的友情链接
查看>>
支付宝 支付bug
查看>>
马斯洛需求理论
查看>>
C++程序设计问题总结
查看>>
WebGIS--ArcGIS系列开发四:Server链接
查看>>
让自家系统瘫痪,这事我也干过
查看>>
404 Error on Fonts in Tomcat/Java Web App
查看>>
十进制转十六进制
查看>>
【学习笔记2】第一个Struts2应用开发
查看>>
写在 TiDB 1.0 发布之际 | 预测未来最好的方式就是创造未来
查看>>
android 自定义ViewPager
查看>>
seajs的使用1.0
查看>>
实用SQL语句
查看>>
14-利用思维导图梳理JavaSE-大汇总
查看>>
git 查看远程/本地分支、创建分支、把分支推到远程、删除本地分支
查看>>
modules-4.1.2 安装教程 (VMware/centos7)
查看>>
Java多线程系列--“基础篇”04之 synchronized关键字
查看>>
apache/commons/httpclient学习笔记
查看>>
mysql 查看死锁和去除死锁
查看>>