前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Cloud Config

Spring Cloud Config

作者头像
HUC思梦
发布2020-09-03 16:58:59
4850
发布2020-09-03 16:58:59
举报

1.config服务端配置

1.1 引入依赖

代码语言:javascript
复制
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>    
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

1.2 配置项application.yml

代码语言:javascript
复制
spring:
  cloud:
    zookeeper:
      connect-string: 192.168.220.128:2181
    config:
      server:
        git:
          uri: https://gitee.com/lm970585581/cloud-config
          username: lm970585581
          password: *****   #密码

1.3 启动类配置

代码语言:javascript
复制
@EnableConfigServer 启用服务配置

测试说明:

/{label}/{name}-{profiles}.yml

/{name}-{profiles}.yml

name git的文件名称不包括后缀

profiles 环境

label 分支(branch)

2、客户配置:provider应用

2.1 引入依赖

代码语言:javascript
复制
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-client</artifactId>
        </dependency>

2.2 配置项bootstrap.yml

代码语言:javascript
复制
spring:
  cloud:
    zookeeper:
      connect-string: 192.168.220.128:2181
    config:
      discovery:
        enabled: true
        service-id: config #配置服务项目名
      profile: dev
  application:
    name: provider

Spring Cloud Bus 手动实现刷配置(不重启项目情况下)

1.安装RabbitMQ

详见:https://cloud.tencent.com/developer/article/1691918

2.配置端引入依赖

代码语言:javascript
复制
        <!--加入spring cloud bus + rabbitmq-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>

3.配置端配置application.yml

代码语言:javascript
复制
spring:   
    rabbitmq:
        port: 5672
        host: 192.168.220.128
        username: test
        password: root
management:
  endpoints:
    web:
      exposure:
        include: '*'  # 开启所有配置url

4.在controller上启用读取刷新数据注解@RefreshScope

此时,当git上的配置修改后,配置应用的内容会同步修改

客户端应用的配置需要手动使用Post方式刷新,即可同步修改,无需重启服务,格式如下:地址是配置应用的地址

http://localhost:8080/actuator/bus-refresh

Spring Cloud Bus 实现自动刷配置(不重启项目情况下)+WebHooks

加入依赖

代码语言:javascript
复制
        <!--添加支持gitlab,github,gitee webhooks依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-monitor</artifactId>
        </dependency>

想办法把自己机器变为服务器,可以使用netaap

在gitee里面配置webhook

通过/monitor 接口回调目标服务对应的服务

注意:自动刷新方式有BUG存在,可能会失败,等官方修复吧!

具体实例详见:https://gitee.com/lm970585581/cloud-config

码云上的配置信息

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.config服务端配置
    • 1.1 引入依赖
      • 1.2 配置项application.yml
        • 1.3 启动类配置
          • 测试说明:
          • 2、客户配置:provider应用
            • 2.1 引入依赖
              • 2.2 配置项bootstrap.yml
              • Spring Cloud Bus 手动实现刷配置(不重启项目情况下)
                • 1.安装RabbitMQ
                  • 2.配置端引入依赖
                    • 3.配置端配置application.yml
                      • 4.在controller上启用读取刷新数据注解@RefreshScope
                      • Spring Cloud Bus 实现自动刷配置(不重启项目情况下)+WebHooks
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档