网站大量收购独家精品文档,联系QQ:2885784924

SpringCloud-config-service+Event-Bus+SVN实现自动更新配置.docx

SpringCloud-config-service+Event-Bus+SVN实现自动更新配置.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. 创建config service服务引入Maven包:dependency?groupIdorg.springframework.cloud/groupId?artifactIdspring-cloud-config-server/artifactId /dependency dependency?groupIdorg.springframework.cloud/groupId?artifactIdspring-cloud-starter-bus-amqp/artifactId?/dependency dependency?groupIdorg.springframework.boot/groupId?artifactIdspring-boot-starter-web/artifactId /dependencyperties## 刷新时,关闭安全验证management.security.enabled=false#########Rabbitmqspring.rabbitmq.host=22spring.rabbitmq.port=5672spring.rabbitmq.username=hjyspring.rabbitmq.password=hjyapplication.ymlserver: port: 7001spring: application: name: config-server cloud: config: enabled: true server: svn: uri: 39/svn/ username: gongzhong password: gongzhong searchPaths: springcloud #git: # uri: /pcf-guides/configuration-server-config-repo default-label: config profiles: active: subversion至此,config service 服务搭建完成。2. 给SVN服务器增加hook登录39服务器,进入svn的仓库目录下的hooks目录:/usr/svnrepos/hnapay2/hooks从post-commit.tmpl拷贝一份post-commit文件:cp post-commit.tmpl post-commit修改post-commit文件内容为:#!/bin/shcurl -X POST 52:7001/bus/refresh其中:52:7001为config-server的请求IP及端口修改post-commit文件为可执行文件:chmod +x post-commit到此就实现了配置中心的配置修改后,其他所有服务均自动重新获取配置。注意:只有引入了spring-cloud-starter-bus-amqp模块的服务才会重新获取配置============================================================扩展:为指定项目进行刷新原理:根据SVN的hooks获取到被update的配置文件目录,再通过/bus/refresh?destination=customers:**指令进行刷新要求:SVN的目录按serviceId命名,当然也可以在svn的hooks脚本中进行目录与server对应。如下图是我测试时的一个配置目录:其中:gateway与gateway服务同名,gateway-zuul与gateway-zuul服务同名修改hooks脚本为以下内容:#!/bin/shREPOS=$1REV=$2#通过look获取发生变更的文件目录SVNLOOK=/usr/bin/svnlook#发生变更的文件目录集合CHANGEDDIRS=$($SVNLOOK dirs-changed $REPOS)#发生变更的文件目录集合的第一条MASTERDIR=$(echo $CHANGEDDIRS | head -1)#循环while [ $CHANGEDDIRS != ];do?#获取最后一个目录名称,即服务名称?PROJECT=$(echo $MASTERDIR | awk -F / {print $(NF-1)})?echo $PROJECT /usr/svnrepos/hnapay2/hooks/logs?#发送刷新请求给config server?#将svn目录名称与服务名称对应?if [ $PROJECT = gateway ] ; then PROJECT=exp-gateway?fi?curl -X POST 52:7001/bus/refresh?destination=$PROJECT:**?#删除已经发送请求的?CH

文档评论(0)

moon8888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档