spring cloud: 使用consul来替换config server

简介: 上一篇提到了,eureka 2.x官方停止更新后,可以用consul来替代,如果采用consul的话,其实config server也没必要继续使用了,consul自带kv存储,完全可以取代config server的活儿。

上一篇提到了,eureka 2.x官方停止更新后,可以用consul来替代,如果采用consul的话,其实config server也没必要继续使用了,consul自带kv存储,完全可以取代config server的活儿。

 

步骤如下:

一、先添加jar依赖

//    compile 'org.springframework.cloud:spring-cloud-starter-config'
    compile 'org.springframework.cloud:spring-cloud-starter-consul-config'  

 之前config server的依赖去掉,换成consul-config的依赖即可。

 

二、修改bootstrap.yml文件

 1 spring:
 2   ...
 3   cloud:
 4     consul:
 5       host: 127.0.0.1
 6       port: 8500
 7       discovery:
 8         tags: version=1.0,author=yjmyzz
 9         healthCheckPath: /info.json
10         healthCheckInterval: 5s
11         instanceId: ${spring.application.name}:${spring.cloud.client.ipAddress}
12         enabled: true
13       config:
14         enabled: true
15         format: YAML
16         prefix: config
17         defaultContext: application
18         profileSeparator: ','
19         data-key: data
20 #    config:
21 #      label: dev
22 #      discovery:
23 #        enabled: true
24 #        service-id: my-config-server
25 #      fail-fast: true
26 #      retry:
27 #        max-interval: 1500
28 #        max-attempts: 5
29 #        multiplier: 1.2

关键是13-19行,解释一下:

15行 format:YAML 表示consul中的key-value中的value内容,采用YAML格式

16行 prefix: config 表示consul用于存储配置的文件夹根目录名为config

17行 defaultContext: application 表示配置文件对应的应用名称(eg: 你的服务如果打算取名为myApp,则这里的application就要换成myApp)

18行 profileSeparator: ',' 表示如果有多个profile(eg: 开发环境dev,测试环境test...) ,则key名中的profile与defaultContext之间,用什么分隔符来表示(这里有点费解,后面还会详细解释)

19行 data-key: data 表示最后一层节点的key值名称,一般默认为data

 

三、consul中创建kv配置节点

很多文章,包括官方文档这一步都讲得不明不白,关键是 节点名称的命名规则,要与bootstrap.yml中的配置一样,比如我们要创建一个test环境的配置,key名可以取为:

config/application,test/data

这里每一个部分,都要与上一步bootstrap.yml中的一致,上图中5个剪头所指,大家结合上一步中15-19行的解释体会一下。

然后Value值的部分,把配置内容按yml格式填进去就行:

tips: 平时开发时,一般使用consul dev模式,开发模式下kv存储不会持久化存储,全在内存中(重启consul就丢了!),所以一般建议yml配置文件内容,在项目中单独存一个文件,启动调试时,直接把配置文件内容贴到Value框里即可。

 

好了,现在你可以试着启动下,顺利的话,应该就可以了,是不是很简单,关键还省掉了config server的部署,帮公司省了机器,别忘了让领导给你加绩效哦^_^ 

 

参考文档:

1、spring cloud consul 中文文档

2、spring cloud consul 官方文档(英文)

 

作者: 菩提树下的杨过
出处: http://yjmyzz.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
目录
相关文章
|
1月前
|
负载均衡 Java API
Spring Cloud 面试题及答案整理,最新面试题
Spring Cloud 面试题及答案整理,最新面试题
133 1
|
1月前
|
Java Nacos Sentinel
Spring Cloud Alibaba 面试题及答案整理,最新面试题
Spring Cloud Alibaba 面试题及答案整理,最新面试题
165 0
|
1月前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
132 0
|
4天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
5天前
|
Java API 对象存储
对象存储OSS产品常见问题之使用Spring Cloud Alibaba情况下文档添加水印如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
22 2
|
19天前
|
负载均衡 网络协议 Java
构建高效可扩展的微服务架构:利用Spring Cloud实现服务发现与负载均衡
本文将探讨如何利用Spring Cloud技术实现微服务架构中的服务发现与负载均衡,通过注册中心来管理服务的注册与发现,并通过负载均衡策略实现请求的分发,从而构建高效可扩展的微服务系统。
|
20天前
|
开发框架 负载均衡 Java
Spring boot与Spring cloud之间的关系
总之,Spring Boot和Spring Cloud之间的关系是一种构建和扩展的关系,Spring Boot提供了基础,而Spring Cloud在此基础上提供了分布式系统和微服务架构所需的扩展和工具。
16 4
Spring boot与Spring cloud之间的关系
|
1月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
61 1
|
1月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
185 0
|
1月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
779 0