第七篇: 高可用的分布式配置中心(Spring Cloud Config)(Finchley版本)V2.0_dev

前言:
上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用。

继续使用上一篇文章的工程,

一、创建一个eureka-server工程,用作服务注册中心。

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

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.gblfy</groupId><artifactId>sc-f-chapter6</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>com.gblfy</groupId><artifactId>eureka-server</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>eureka-server</name><description>Demo project for Spring Boot</description><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies>
</project>

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

server:port: 8761eureka:instance:hostname: localhostclient:registerWithEureka: falsefetchRegistry: falseserviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/spring:application:name: eurka-server

第2步:入口类:

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

二、改造config-server

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

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.gblfy</groupId><artifactId>sc-f-chapter6</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>com.gblfy</groupId><artifactId>config-server</artifactId><version>0.0.1-SNAPSHOT</version><name>config-server</name><description>Demo project for Spring Boot</description><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId></dependency></dependencies>
</project>

第2步:配置文件application.yml,指定服务注册地址为http://localhost:8761/eureka/

eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/
spring:application:name: config-servercloud:config:server:git:uri: git@github.com:gb-heima/config-rep.gitusername: password: basedir: /Users/Administrator.PC-20180929LWLP/Desktop/springcloud-practical-column/sc-f-chapter6/config/basedir

第3步:最后需要在程序的启动类Application加上@EnableConfigServer

@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class, args);}}

三、改造config-client

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

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.gblfy</groupId><artifactId>sc-f-chapter6</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>com.gblfy</groupId><artifactId>config-client</artifactId><version>0.0.1-SNAPSHOT</version><name>config-client</name><description>Demo project for Spring Boot</description><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency></dependencies>
</project>

第2步:配置文件bootstrap.yml,注意是bootstrap。
加上服务注册地址为:http://localhost:8761/eureka/

spring:application:name: config-clientcloud:config:discovery:enabled: trueservice-id: CONFIG-SERVERprofile: dev
eureka:client:service-url:defaultZone: http://localhost:8761/eureka
server:port: 8881
  • spring.cloud.config.discovery.enabled 是从配置中心读取文件。
  • spring.cloud.config.discovery.serviceId 配置中心的servieId,即服务名。
    这时发现,在读取配置文件不再写ip地址,而是服务名,这时如果配置服务部署多份,通过负载均衡,从而高可用。

依次启动:
eureka-server,端口号为8761,
config-server的3个实例,端口号为8888,9999,0000
config-client:的2个实例,端口号为8080,8081

访问网址:http://localhost:8761/,就会出现eureka页面
注册的应用有:
1个eureka-server(默认隐藏)
3个config-server
2个config-client

共计6个

  • 在config-client启动之前先把控制台清除
  • 分别启动config-client的2个实例,观察控制台输出
Fetching config from server at : http://PC-20180929LWLP:8888/
Fetching config from server at : http://PC-20180929LWLP:9999/
Fetching config from server at : http://PC-20180929LWLP:0000/

以上3种场景都有可能出出现,由于client端从server端拉取信息,采用的时轮训策略

访问http://localhost:8881/hi?name=gblfy,

浏览器显示:

hi,i am from port 8080

访问http://localhost:8880/hi?name=gblfy,

浏览器显示:

hi,i am from port 8081

本文源码下载:

dev分支(最新企业实战版本):
与master代码一样只是启动的实例多几个而已,参看master即可
https://github.com/gb-heima/springcloud-practical-column/tree/master/sc-f-chapter6

master分支(入门版本):
https://github.com/gb-heima/springcloud-practical-column/tree/master/sc-f-chapter6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IOS – OpenGL ES 图像凹面镜放大效果 GPUImagePinchDistortionFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)V2.0_dev

前言: Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。 它可以用于广播配置文件的更改或者服务之间的通讯&#xff0c;也可以用于监控。 本文要讲述的是用Spring Cloud Bus实现通知微服务架构的配置文件的更改。 一、准备工作 本文还是基于上一篇文章来实现。按照…

IOS – OpenGL ES 图像哈哈镜效果 GPUImageStretchDistortionFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

要闻君说:facebook迎来“全球宕机”惊险时刻;吸引大牛!拼多多成立了技术委员会;胡晓明卸任庚接任,阿里云计算迎来法人变更...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 大家好&#xff01;偶是要闻君。近日网传原百度智能硬件事业部总经理、渡鸦科技创始人吕骋已成立AI娱乐公司一家&#xff0c;并已获得来自YCombinator中国等投资&#xff1b;据早前…

第九篇: 服务链路追踪(Spring Cloud Sleuth)(Finchley版本)

这篇文章主要讲述服务追踪组件zipkin&#xff0c;Spring Cloud Sleuth集成了zipkin组件。 一、简介 Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案&#xff0c;并且兼容支持了 zipkin&#xff0c;你只需要在pom文件中引入相应的依赖即可。 二、服务追踪分…

IOS – OpenGL ES 图像水晶球效果 GPUImageGlassSphereFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

大数据下的中国女人,看完惊呆了

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 辣道娘 转自 | 凯叔讲故事&#xff08;ID&#xff1a;kaishujianggushi&#xff09;这个时代的女人比任何一个时代更累。为什么这么呢&#xff1f;因为她们身兼多职。——凯叔美国国家统计局曾对各国劳动人口的总数和人口参…

IOS – OpenGL ES 图像球形折射 GPUImageSphereRefractionFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

第十篇: 高可用的服务注册中心(Finchley版本)V2.0_dev

一、准备工作 Eureka通过运行多个实例&#xff0c;使其更具有高可用性。事实上&#xff0c;这是它默认的熟性&#xff0c;你需要做的就是给对等的实例一个合法的关联serviceurl。 二、创建eureka-server 引入依赖 <dependency><groupId>org.springframework.cl…

云漫圈 | 谈谈怎么做【服务隔离】

戳蓝字“CSDN云计算”关注我们哦&#xff01;转自&#xff1a; 孤独烟引言OK&#xff0c;如下图所示那显而易见&#xff0c;做服务隔离的目的就是避免服务之间相互影响。毕竟谁也不能说自己的微服务百分百可用&#xff0c;如果不做隔离&#xff0c;一旦一个服务出现了问题&…

linux搭建SonarQube_Oracle

文章目录一、安装声明二、下载软件2.1. sonarqube2.2. sonar-scanner-cli三、SonarQube实战3.1. 解压3.2. 配置3.3. 环境变量3.4. 启动Sonarqube3.5. 访问Sonarqube四、SonarQube 整合Oracle4.1. 创建命名空间4.2. 创建用户和赋予权限4.3. 添加数据库配置4.4. 添加Oracle数据库…

IOS – OpenGL ES 图像色调分离噪点效果 GPUImagePosterizeFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

数据解读京东上最受欢迎的面包

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者&#xff1a; 黄超 就职顶新集团智能科技公司 数据从业者前言什么样的面包品牌最好卖&#xff1f;什么样的口感最受欢迎&#xff1f;相信每一位喜欢面包的朋友都会关心这些问题。本文通过爬取京东面包类数据&#xff0c;一方面回…

linux 下载mysql5.7.22

一、软件下载方式 第一种方式&#xff1a; 下载到本地&#xff0c;再从本地上传服务器上 第二种方式(推荐使用)&#xff1a; 使用wget软件链接直接下载到传服务器上 二、软件下载流程 官网地址 https://dev.mysql.com/downloads/mysql/ 第一种方式&#xff1a;点击即可…

IOS – OpenGL ES 图像CGA色彩滤镜 GPUImageCGAColorspaceFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

大数据背后的无奈与焦虑:“128元连衣裙”划分矮穷挫与白富美?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者&#xff1a; 刘丹我们通过卖东西收集数据&#xff0c;数据是阿里最值钱的财富。——马云春天万物复苏&#xff0c;沉睡了一个冬季的爱美之心呼之欲出&#xff0c;连衣裙在姑娘的心里发了芽&#xff0c;不过这次有些意外&#x…

Linux安装SonarQube和sonar-scanner详细安装及配置

文章目录技术选型一、快速入门1.1 上传、解压、创建用户、启动1.2 创建用户(elasticsearch不能以root用户启动)&#xff0c;并赋予权限1.3 切换用户&#xff0c;启动SonarQube1.4. 浏览器验证二、配置数据库信息&#xff1a;2.1 编辑sonar.properties文件2.2 添加数据库信息&am…

IOS – OpenGL ES 图像柏林噪点/花边噪点 GPUImagePerlinNoiseFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

win10 下安装、配置、启动mysql5.7

文章目录1. 下载MYSQL2. 解压文件3. 文件移动4. 新建my.ini5. 配置环境变量6. MYSQL安装7. my.ini配置1. 下载MYSQL 前期准备&#xff1a;安装链接&#xff1a; https://blog.csdn.net/qq_28569585/article/details/79072805 https://dev.mysql.com/downloads/mysql/5.7.html#d…

要闻君说:华为与故宫携手共建智慧紫禁城;央视315曝光瞄准大数据黑市;华为官宣称自己也有操作系统了;美国夸口启动6G研发?...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 大家好&#xff01;偶是要闻君。据说刚刚过去不久的315大曝光还真是“惊掉下巴”的节奏&#xff0c;这不要闻君也精选了一条&#xff0c;随着看看&#xff1f;文/要闻君近日&#x…