当前位置: 首页 > news >正文

娄底优秀网站建设西安免费做网站机构

娄底优秀网站建设,西安免费做网站机构,网站怎么做七牛云加速,北京市建设部网站随着线上项目变的日益庞大#xff0c;每个项目都散落着各种配置文件#xff0c;如果采用分布式的开发模式#xff0c;需要的配置文件随着服务增加而不断增多。某一个基础服务信息变更#xff0c;都会引起一系列的更新和重启#xff0c;运维苦不堪言也容易出错。配置中心便…随着线上项目变的日益庞大每个项目都散落着各种配置文件如果采用分布式的开发模式需要的配置文件随着服务增加而不断增多。某一个基础服务信息变更都会引起一系列的更新和重启运维苦不堪言也容易出错。配置中心便是解决此类问题的灵丹妙药。 市面上开源的配置中心有很多BAT每家都出过360的QConf、淘宝的diamond、百度的disconf都是解决这类问题。国外也有很多开源的配置中心Apache Commons Configuration、owner、cfg4j等等。这些开源的软件以及解决方案都很优秀但是我最钟爱的却是Spring Cloud Config因为它功能全面强大可以无缝的和spring体系相结合够方便够简单颜值高我喜欢。 Spring Cloud Config 在我们了解spring cloud config之前我可以想想一个配置中心提供的核心功能应该有什么 提供服务端和客户端支持集中管理各环境的配置文件配置文件修改之后可以快速的生效可以进行版本管理支持大的并发查询支持各种语言Spring Cloud Config可以完美的支持以上所有的需求。 Spring Cloud Config项目是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分server提供配置文件的存储、以接口的形式将配置文件的内容提供出去client通过接口获取数据、并依据此数据初始化自己的应用。Spring cloud使用git或svn存放配置文件默认情况下使用git我们先以git为例做一套示例。 首先在github上面创建了一个文件夹config-repo用来存放配置文件为了模拟生产环境我们创建以下三个配置文件 // 开发环境 neo-config-dev.properties // 测试环境 neo-config-test.properties // 生产环境 neo-config-pro.properties   每个配置文件中都写一个属性neo.hello,属性值分别是 hello im dev/test/pro 。下面我们开始配置server端 server 端 1、添加依赖 1 dependencies 2 dependency 3 groupIdorg.springframework.cloud/groupId 4 artifactIdspring-cloud-config-server/artifactId 5 /dependency 6 /dependencies 只需要加入spring-cloud-config-server包引用既可。 2、配置文件 1 server:2 port: 80403 spring:4 application:5 name: spring-cloud-config-server6 cloud:7 config:8 server:9 git: 10 uri: https://github.com/ityouknow/spring-cloud-starter/ # 配置git仓库的地址 11 search-paths: config-repo # git仓库地址下的相对地址可以配置多个用,分割。 12 username: # git仓库的账号 13 password: # git仓库的密码   Spring Cloud Config也提供本地存储配置的方式。我们只需要设置属性spring.profiles.activenativeConfig Server会默认从应用的src/main/resource目录下检索配置文件。也可以通过spring.cloud.config.server.native.searchLocationsfile:E:/properties/属性来指定配置文件的位置。虽然Spring Cloud Config提供了这样的功能但是为了支持更好的管理内容和版本控制的功能还是推荐使用git的方式。 3、启动类 启动类添加EnableConfigServer激活对配置中心的支持 1 EnableConfigServer 2 SpringBootApplication 3 public class ConfigServerApplication { 4 5 public static void main(String[] args) { 6 SpringApplication.run(ConfigServerApplication.class, args); 7 } 8 } 到此server端相关配置已经完成 4、测试 首先我们先要测试server端是否可以读取到github上面的配置信息直接访问http://localhost:8001/neo-config/dev 返回信息如下 1 {2 name: neo-config, 3 profiles: [4 dev5 ], 6 label: null, 7 version: null, 8 state: null, 9 propertySources: [ 10 { 11 name: https://github.com/ityouknow/spring-cloud-starter/config-repo/neo-config-dev.properties, 12 source: { 13 neo.hello: hello im dev 14 } 15 } 16 ] 17 }   上述的返回的信息包含了配置文件的位置、版本、配置文件的名称以及配置文件中的具体内容说明server端已经成功获取了git仓库的配置信息。 如果直接查看配置文件中的配置信息可访问http://localhost:8001/neo-config-dev.properties返回neo.hello: hello im dev 修改配置文件neo-config-dev.properties中配置信息为neo.hellohello im dev update,再次在浏览器访问http://localhost:8001/neo-config-dev.properties返回neo.hello: hello im dev update。说明server端会自动读取最新提交的内容 仓库中的配置文件会被转换成web接口访问可以参照以下的规则 /{application}/{profile}[/{label}]/{application}-{profile}.yml/{label}/{application}-{profile}.yml/{application}-{profile}.properties/{label}/{application}-{profile}.properties以neo-config-dev.properties为例子它的application是neo-configprofile是dev。client会根据填写的参数来选择读取对应的配置。 client 端 主要展示如何在业务项目中去获取server端的配置信息 1、添加依赖 1 dependencies2 dependency3 groupIdorg.springframework.cloud/groupId4 artifactIdspring-cloud-starter-config/artifactId5 /dependency6 dependency7 groupIdorg.springframework.boot/groupId8 artifactIdspring-boot-starter-web/artifactId9 /dependency 10 dependency 11 groupIdorg.springframework.boot/groupId 12 artifactIdspring-boot-starter-test/artifactId 13 scopetest/scope 14 /dependency 15 /dependencies 引入spring-boot-starter-web包方便web测试 2、配置文件 需要配置两个配置文件application.properties和bootstrap.properties application.properties如下 spring.application.namespring-cloud-config-client server.port8002 bootstrap.properties如下 spring.cloud.config.nameneo-config spring.cloud.config.profiledev spring.cloud.config.urihttp://localhost:8001/ spring.cloud.config.labelmaster spring.application.name对应{application}部分spring.cloud.config.profile对应{profile}部分spring.cloud.config.label对应git的分支。如果配置中心使用的是本地存储则该参数无用spring.cloud.config.uri配置中心的具体地址spring.cloud.config.discovery.service-id指定配置中心的service-id便于扩展为高可用配置集群。 特别注意上面这些与spring-cloud相关的属性必须配置在bootstrap.properties中config部分内容才能被正确加载。因为config的相关配置会先于application.properties而bootstrap.properties的加载也是先于application.properties。 3、启动类 启动类添加EnableConfigServer激活对配置中心的支持 1 SpringBootApplication 2 public class ConfigClientApplication { 3 4 public static void main(String[] args) { 5 SpringApplication.run(ConfigClientApplication.class, args); 6 } 7 } 启动类只需要SpringBootApplication注解就可以 4、web测试 使用Value注解来获取server端参数的值 1 RestController2 class HelloController {3 Value(${neo.hello})4 private String hello;5 6 RequestMapping(/hello)7 public String from() {8 return this.hello;9 } 10 }   启动项目后访问http://localhost:8002/hello返回hello im dev update说明已经正确的从server端获取到了参数。到此一个完整的服务端提供配置服务客户端获取配置参数的例子就完成了。 我们在进行一些小实验手动修改neo-config-dev.properties中配置信息为neo.hellohello im dev update1提交到github,再次在浏览器访问http://localhost:8002/hello返回neo.hello: hello im dev update说明获取的信息还是旧的参数这是为什么呢因为springboot项目只有在启动的时候才会获取配置文件的值修改github信息后client端并没有在次去获取所以导致这个问题。如何去解决这个问题呢留到下一章我们在介绍。 示例代码转载于:https://www.cnblogs.com/UniqueColor/p/7510481.html
http://www.pierceye.com/news/635519/

相关文章:

  • 大学生个体创业的网站建设网页素材及网站架构制作
  • 网站开发前端框架和后端框架做长海报的网站
  • 柳州网站制作建一个网站怎么赚钱
  • 建网站支持设备是什么意思wordpress 默认密码
  • 找人做效果图那个网站网站开发语言 asp
  • 山东省山东省建设厅网站首页百度助手免费下载
  • 北京网站建设认百度非企推广开户
  • 厦门模板建站系统网站icp备案信息注册
  • 网站建设维护人员多语言网站开发
  • 网站开发 论文大连微信公众号开发公司
  • 珠海网站建设王道下拉惠烟台网站制作专业
  • 用php做网站要用构架吗ios开发者模式
  • 如何实现一个制作好的网站wordpress cdn
  • 成都网站商城建设深圳制作网站制作公司哪家好
  • 谁可以做网站开发公司空置房拨款合同
  • seo网站管理网站建设信(信科网络)
  • 做网站需要哪些东西网站设计报价单模板
  • 合肥家居网站建设怎么样网站建设与维护中
  • 淘宝app网站建设做网页设计可以参考哪些网站
  • 合作建设网站协议江门seo计费管理
  • 企业管理网站模板保定网站制作设计哪个公司好
  • 物流网站查询优秀设计赏析网站
  • 设计分享网站网站建设资料需要公司提交的吗
  • 广州网站站建设培训html用户登录注册页面代码
  • 网站建设怎么购买域名怎么屏蔽2345网址导航
  • 物流网站建设推广wordpress安全配置文件
  • 做网站用哪个服务器不用备案宣传网站设计
  • 网站建设哪种语言好电子商务型网站建设
  • 广州网站建设平台网站怎么做必须交钱吗
  • 做网站费免图片网站背景图网站