史上最简单的springcloud教程|第七篇:高可用的分布式配置中心(springcloudconfig)

于静雨      2022-04-16     790

关键词:

最新Finchley版本请访问:
https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f7-config/
或者
http://blog.csdn.net/forezp/article/details/81041045

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

技术分享图片

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

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


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


入口类:


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


配置文件application.yml,指定服务注册地址为http://localhost:8889/eureka/,雅思培训一般多少钱其他配置同上一篇文章,完整的配置如下:


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

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


配置文件bootstrap.properties,注意是bootstrap。加上服务注册地址为http://localhost:8889/eureka/


  • spring.cloud.config.discovery.enabled 是从配置中心读取文件。
  • spring.cloud.config.discovery.serviceId 配置中心的servieId,即服务名。

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

依次启动eureka-servr,config-server,config-client
访问网址:http://localhost:8889/

技术分享图片

访问http://localhost:8881/hi,浏览器显示:

foo version 3

本文源码下载:
https://github.com/forezp/SpringCloudLearning/tree/master/chapter7

spring_cloud_config






史上最简单的springcloud教程|第十四篇:服务注册(consul)

这篇文章主要介绍springcloudconsul组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。consul具有以下性质:服务发现:consul通过http方式注册服务,并且服务与服务之间相互感应。服务健康监测key/value... 查看详情

史上最简单的springcloud教程|第四篇:断路器(hystrix)

...一个个的服务,服务与服务之间可以相互调用(RPC),在SpringCloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问... 查看详情

史上最简单的springcloud教程|第四篇:断路器(hystrix)(finchley版本)

...一个个的服务,服务与服务之间可以相互调用(RPC),在SpringCloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问... 查看详情

业余草springcloud教程|第七篇:高可用的分布式配置中心(springcloudconfig)(finchley版本)

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

史上最简单的springcloud教程|第八篇:消息总线(springcloudbus)

最新Finchley版本请访问:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f8-bus/或者http://blog.csdn.net/forezp/article/details/81041062SpringCloudBus将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也... 查看详情

史上最简单的springcloud教程|第一篇:服务的注册与发现(eureka)

最新Finchley版本请访问:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f1-eureka/或者http://blog.csdn.net/forezp/article/details/81040925springcloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理... 查看详情

史上最简单的springcloud教程|第三篇:服务消费者(feign)

最新Finchley版本请访问:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f3-feign/或者http://blog.csdn.net/forezp/article/details/81040965上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。Feign是 查看详情

史上最简单的springcloud教程|第六篇:分布式配置中心(springcloudconfig)

最新Finchley版本:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f6-config/或者http://blog.csdn.net/forezp/article/details/81041028在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件。它就是SpringCloudConfig。在分布... 查看详情

史上最简单的springcloud教程|第十三篇:断路器聚合监控(hystrixturbine)

...要聚合所以服务的HystrixDashboard的数据了。这就需要用到SpringCloud的另一个组件了,即HystrixTurbine。看单个的HystrixDashboard的数据并没有什么多大的价值,要想看这个系统的HystrixDashboard数据就需要用到HystrixTurbine。HystrixTurbine将每个... 查看详情

史上最简单的springcloud教程|第五篇:路由网关(zuul)

...候忘记了。并且配置服务也是注册到服务注册中心的。在SpringCloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul、N 查看详情

史上最简单的springcloud教程|第二篇:服务消费者(rest+ribbon)

最新Finchley版本:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f2-ribbon/或者http://blog.csdn.net/forezp/article/details/81040946在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是... 查看详情

史上最简单的springcloud教程|第五篇:路由网关(zuul)(finchley版本)

...候忘记了。并且配置服务也是注册到服务注册中心的。在SpringCloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul、N 查看详情

史上最简单的springcloud教程|第三篇:服务消费者(feign)

上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具... 查看详情

史上最简单的springcloud教程|第六篇:分布式配置中心(springcloudconfig)(finchley版本)

...到过,使用配置服务来保存各个服务的配置文件。它就是SpringCloudConfig。在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在SpringCloud中,有分布式配置中心组件sp... 查看详情

springcloud第七篇|声明式服务调用feign

本文是SpringCloud专栏的第七篇文章,了解前六篇文章内容有助于更好的理解本文:SpringCloud第一篇|SpringCloud前言及其常用组件介绍概览SpringCloud第二篇|使用并认识Eureka注册中心SpringCloud第三篇|搭建高可用Eureka注册中心SpringCloud第四... 查看详情

史上最简单的erc20代币创建教程

参考技术A不需要任何技术,不需要任何技术,不需要任何技术。第一步:打开www.ethlinker.com,注册登录,点击首页创建代币。第二步:填写代币全称、代币简称、发行总量、发行总量四个字段便可以创建代币了。平台还提供代币... 查看详情

史上最简单的intellijidea教程

1简介  IntelliJIDEA(简称IDEA),是Java语言开发的集成环境,IDEA在业界被公认为最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(Git、SVN、GitHub等)、JUnit、CVS整合、代码分析和创新... 查看详情

[分享]史上最简单的封装教程,五分钟学会封装系统(以封装windows7为例)

[分享]史上最简单的封装教程,五分钟学会封装系统(以封装Windows7为例)踏雁寻花发表于2015-8-2323:31:28 https://www.itsk.com/thread-355923-1-4.html[分享]史上最简单的封装教程,五分钟学会封装系统(以封装Windows7为例)学会封装,只... 查看详情