博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring cloud学习(五) 配置中心
阅读量:6348 次
发布时间:2019-06-22

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

Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持。配置服务中心采用Git的方式存储配置文件,因此我们很容易部署修改,有助于对环境配置进行版本管理。

一、配置中心

1.1

新建模块config-server
pom文件

spring-cloud
com.feng
0.0.1
4.0.0
config-server
org.springframework.cloud
spring-cloud-config-server

1.2

application.yml

server:  port: 8030eureka:  client:    serviceUrl:          defaultZone: http://localhost:8010/eureka/ #eureka服务注册地址# git管理配置spring:  cloud:    config:      server:        git:          uri: https://github.com/fengzp/config/ #git仓库地址          searchPaths: demo* #搜索路径#          username: username#          password: password  application:    name: config-server

1.3

ConfigApplication,添加EnableConfigServer标识是一个配置中心服务

/** * @author fengzp * @date 17/5/4 * @email fengzp@gzyitop.com * @company 广州易站通计算机科技有限公司 */@SpringBootApplication@EnableConfigServer@EnableDiscoveryClientpublic class ConfigApplication {    public static void main(String[] args) {        SpringApplication.run(ConfigApplication.class, args);    }}

1.4

在配置的git仓库下新建一个demo1的文件夹,在里面创建一个叫client-a-dev.properties的配置文件
文件中随便加上两个配置

ip=192.168.30.51port=9999

启动模块,然后打开 http://localhost:8030/client-a/dev

954438-20170510104309441-1603712292.png

说明读取配置成功

这里说明一下http请求读取配置的匹配规则:

/{application}/{profile}[/{label}]/{application}-{profile}.yml/{label}/{application}-{profile}.yml/{application}-{profile}.properties/{label}/{application}-{profile}.properties

二、客户端读取配置

2.1

修改client-a模块
pom文件新增依赖

org.springframework.cloud
spring-cloud-starter-config

2.2

bootstrap.yml添加相关配置后

server:  port: 8910eureka:  client:    serviceUrl:          defaultZone: http://localhost:8010/eureka/spring:  application:      name: client-a  cloud:      config:        discovery:          enabled: true #开启通过服务来访问Config Server的功能          service-id: config-server        profile: dev        label: master

2.3

在TestController添加测试方法

@RestControllerpublic class TestController {    @Autowired    RestTemplate restTemplate;    @RequestMapping("/hi")    @HystrixCommand(fallbackMethod = "hiFallback")    public String hi(@RequestParam String id){        return restTemplate.getForObject("http://service-a/hi?id="+id, String.class);    }    public String hiFallback(String id) {        return "hi, " + id + ", error!";    }    @Value("${ip}")    private String ip;    @Value("${port}")    private String port;    @RequestMapping("/getProperties")    public String getProperties(){        return ip + " : " + port;    }}

启动模块后打开 http://localhost:8910/getProperties

954438-20170510104334676-1148123852.png

说明读取配置成功

转载于:https://www.cnblogs.com/andyfengzp/p/6834757.html

你可能感兴趣的文章
winform listbox 元素显示tooltrip
查看>>
cacti安装与配置
查看>>
TF-IDF与余弦相似性的应用(一):自动提取关键词
查看>>
javascript面向对象2
查看>>
限制容器对CPU的使用 - 每天5分钟玩转 Docker 容器技术(28)
查看>>
jquery 实现的一个 随机云标签网页背景
查看>>
android广播事件处理broadcast receive
查看>>
在eclipse 里面 修改tomcat的配置--Server Locations
查看>>
网站 mvc url 路径 设置 为 *.html 的原因
查看>>
mybatis 开启使用 默认的 二级缓存
查看>>
docker 容器 创建和 使用
查看>>
SQLITE使用指南
查看>>
用Maven部署war包到远程Tomcat服务器
查看>>
android字体大小的设置
查看>>
2015.06.04 工作任务与心得
查看>>
icinga2使用587端口发邮件
查看>>
hpasmcli查看HP服务器内存状态
查看>>
极客工具
查看>>
【14】Python100例基础练习(1)
查看>>
boost bind使用指南
查看>>