• UID20502
  • 登录2017-11-16
  • 粉丝0
  • 关注0
  • 发帖48
  • 主页
  • 金币124枚
万万558 发布于2017-11-09 10:43
0/64

整合spring cloud云服务架构 - commonservice-config配置服务搭建

楼层直达
1. 介绍
Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用。随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。很容易添加替代实现,并使用Spring配置将其插入。
2. 引入pom相关jar包,其中pom.xml配置如下:


Xml代码  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  4.    <modelVersion>4.0.0</modelVersion>  
  5.  
  6.    <parent>  
  7.        <groupId>com.ml.honghu</groupId>  
  8.        <artifactId>commonservice</artifactId>  
  9.        <version>0.0.1-SNAPSHOT</version>  
  10.    </parent>  
  11.      
  12.    <artifactId>commonservice-config</artifactId>  
  13.    <packaging>jar</packaging>  
  14.  
  15.    <name>commonservice-config</name>  
  16.    <description>Config Server</description>  
  17.  
  18.    <dependencies>  
  19.        <dependency>  
  20.            <groupId>org.springframework.cloud</groupId>  
  21.            <artifactId>spring-cloud-config-server</artifactId>  
  22.        </dependency>  
  23.        <dependency>  
  24.            <groupId>org.springframework.cloud</groupId>  
  25.            <artifactId>spring-cloud-starter-eureka</artifactId>  
  26.        </dependency>  
  27.        <dependency>  
  28.                    <groupId>org.springframework.boot</groupId>  
  29.                    <artifactId>spring-boot-starter-security</artifactId>  
  30.            </dependency>  
  31.        <dependency>  
  32.            <groupId>org.springframework.boot</groupId>  
  33.            <artifactId>spring-boot-starter-test</artifactId>  
  34.            <scope>test</scope>  
  35.        </dependency>  
  36.    </dependencies>  
  37.  
  38.    <build>  
  39.        <plugins>  
  40.            <plugin>  
  41.                <groupId>org.springframework.boot</groupId>  
  42.                <artifactId>spring-boot-maven-plugin</artifactId>  
  43.                <executions>  
  44.                    <execution>  
  45.                        <id>1</id>  
  46.                        <goals>  
  47.                            <goal>repackage</goal>  
  48.                        </goals>  
  49.                    </execution>  
  50.                                    <execution>  
  51.                                        <id>2</id>  
  52.                                            <goals>  
  53.                                                   <goal>build-info</goal>  
  54.                                            </goals>  
  55.                                    </execution>  
  56.                </executions>  
  57.            </plugin>  
  58.        </plugins>  
  59.    </build>  
  60. </project>  

 3. 在src/main/java进行ConfigApplication.java启动文件配置:
 


Java代码  
  1. package com.ml.honghu;  
  2.  
  3. import org.springframework.boot.SpringApplication;  
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;  
  5. import org.springframework.cloud.config.server.EnableConfigServer;  
  6. import org.springframework.cloud.netflix.eureka.EnableEurekaClient;  
  7.  
  8. @EnableConfigServer  
  9. @EnableEurekaClient  
  10. @SpringBootApplication  
  11. public class ConfigApplication {  
  12.  
  13.    public static void main(String[] args) {  
  14.        SpringApplication.run(ConfigApplication.class, args);  
  15.    }  
  16. }  

 4. 在src/main/resource下进行bootstrap.yml配置


Java代码  
  1. server:  
  2. port: 8888  
  3. spring:  
  4.  application:  
  5.    name: commonservice-config-server  
  6.  profiles:  
  7.    active: discovery,native  
  8.  cloud:  
  9.    config:  
  10.      server:  
  11.        git:  
  12.          uri: http://192.168.0.254/honghu.../honghu-config.git  
  13.          username: honghu  
  14.          password: 123456  
  15.          searchPaths: config-dev  
  16. security:  
  17.  basic:  
  18.    enabled: true  
  19.  user:  
  20.    name: honghu  
  21.    password: 123456  
  22. eureka:  
  23.  client:  
  24.    serviceUrl:  
  25.      defaultZone: http://honghu:123456@localhost:8761/eureka/  
  26.      honghuZone: http://honghu:123456@localhost:8761/eureka/  
  27.    registry-fetch-interval-seconds: 300  
  28.    availability-zones:  
  29.      honghu: honghuZone  
  30.  instance:  
  31.    prefer-ip-address: true  
  32.    metadataMap:  
  33.      version: 1.0  
  34.      variant: A  
  35.      user: ${security.user.name}  
  36.      password: ${security.user.password}  
  37. management:  
  38.  security:  
  39.    enabled: false  

 注意: 如果不从远程git或者svn库加载配置文件信息,可以配置加载本地地址,比如window下配置使用:


Java代码  
  1. server:  
  2. port: 8888  
  3. spring:  
  4.  application:  
  5.    name: commonservice-config-server  
  6.  profiles:  
  7.    active: discovery,native  
  8.  cloud:  
  9.    config:  
  10.      server:  
  11.        <span style="color: #ff0000;">native.searchLocations: d:/honghu-config</span>  
  12. security:  
  13.  basic:  
  14.    enabled: true  
  15.  user:  
  16.    name: honghu  
  17.    password: 123456  
  18. eureka:  
  19.  client:  
  20.    serviceUrl:  
  21.      defaultZone: http://honghu:123456@localhost:8761/eureka/  
  22.      honghuZone: http://honghu:123456@localhost:8761/eureka/  
  23.    registry-fetch-interval-seconds: 300  
  24.    availability-zones:  
  25.      honghu: honghuZone  
  26.  instance:  
  27.    prefer-ip-address: true  
  28.    metadataMap:  
  29.      version: 1.0  
  30.      variant: A  
  31.      user: ${security.user.name}  
  32.      password: ${security.user.password}  
  33. management:  
  34.  security:  
  35.    enabled: false  

 
 到此,整个config服务项目配置完毕!!
 
从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。源码来源

0人打赏
您需要登录后才可以回帖
发表回复
极贡献
技术问答
专题荟萃
程序人生
视觉设计
Android开发
iOS开发
编程语言
前端开发
后端开发
服务器架构
软件测试
运维方案
创业路上



最热文章墙

  • 79139/378   【精品推荐】200多种Android动画效果的强悍框架,太全了,不看这个,再有动画的问题,不理你了^@^

  • 45196/191   情人节福利,程序员表白的正确姿势:改几行代码就变成自己的表白了

  • 44909/0   Python爬虫:常用浏览器的useragent

  • 41330/260   【精品推荐】Android版产品级的音乐播放器源码,功能太强大了,最好的产品原型有木有?

  • 38619/145   省时省力的Android组件群来了,非常棒的原型参考

  • 29983/142   2016抢红包软件及源码

  • 29263/2   超全!整理常用的iOS第三方资源

  • 29251/71   原创表白APP,以程序员的姿势备战新年后的7夕,持续完善中!

  • 24271/160   Android版类似UC浏览器:非常赞,产品级的源码

  • 22850/30   麻省理工的一帮疯子,真的实现了随意操控万物!(绝对黑科技)

  • 22545/25   Android工程师面试题大全

  • 22452/27   2016程序员跳槽全攻略

  • 21936/9   GitHub上排名前50的iOS项目:总有一款你用得着

  • 20889/20   码魂:程序员的牛B漫画

  • 19016/85   Android小而全的博客源码:非常适合全面掌握开发技巧

  • 19010/73   【持续更新中】Android福利贴(二):资料源码大放送

  • 18996/10   2016年最全的Android面试考题+答案 精编版

  • 18869/42   一个绚丽的loading动效分析与实现!

  • 18735/3   吐槽那些程序员的搞笑牛逼注释

  • 17610/1   iOS 动画总结

  • 17602/45   惊艳的App引导页:背景图片切换加各个页面动画效果

  • 17455/82   仿京东商城客户端Android最新版,不错的原型和学习资料

  • 17415/104   Android带弹幕的视频播放器源码,来自大名鼎鼎的Bilibili弹幕网站

  • 17123/23   个人收集的Android 各类功能源代码

  • 16651/5   新一代Android渠道打包工具:1000个渠道包只需要5秒

  • 16587/21   Android福利第三波【Android电子书】

  • 16402/53   基于瀑布流的美女图片浏览App,有注释的源代码

  • 16387/10   女程序员的梦,众网友的神回复

  • 16361/81   【精品推荐】类似360安全卫士安Android源码:非常赞的产品原型

  • 16323/17   用JavaScript 来开发iOS和Android 原生应用:React Native开源框架中文版来啦

  • 16239/0   iOS中文版资源库,非常全

  • 16082/11   年会上现场review代码是怎么样的体验!

  • 16021/23   珍藏多年的素材,灵感搜寻网站

  • 15491/18   65条最常用正则表达式,你要的都在这里了

  • 14834/15   基于Android支付宝支付设计和开发方案

  • 14230/11   有木有这样一张酷图帮你集齐所有git命令超实用

  • 14164/17   什么是真正的黑客:收获12200+Stars,人气远超微软开源VS

  • 13927/46   在线音乐播放器完整版(商用级的源码):非常赞,可听免费高品质专辑

  • 13704/0   GitHub iOS 库和框架Top100 

  • 13627/61   【技巧一】搭配Android Studio,如何实现App远程真机debug?

  • 13550/7   用程序员的姿势抢过年的火车票

  • 13508/7   一张图搞定iOS学习路线,非常全面

  • 13120/10   成为Java顶尖程序员 ,看这11本书就够了

  • 13087/10   微信支付终于成功了(安卓,iOS),在此分享

  • 12983/18   一张图搞定Android学习路线,非常全面

  • 12793/29   【持续更新中】Android福利贴(一):资料源码

  • 12711/3   基于Node.js的强大爬虫,能直接发布抓取的文章哦

  • 12456/4   46 个非常有用的 PHP 代码片段

  • 11993/3   即时通信第三方库

  • 11432/8   流媒体视频直播方案

  • 11361/18   八个最优秀的Android Studio插件

  • 11239/9   B站建开源工作组:APP想支持炫酷弹幕的看过来

  • 11033/9   烧了5亿美金,这家神秘的公司即将颠覆人类未来!

  • 10996/2   【精品推荐】高质量PHP代码的50个实用技巧:非常值得收藏

  • 10930/10   中国黑客的隐秘江湖:攻守对立,顶尖高手月入千万美元

  • 10208/6   开箱即用!Android四款系统架构工具

  • 10011/10   十大技巧快速提升Android应用开发性能

  • 9952/3   10款GitHub上最火爆的国产开源项目——可以媲美西半球

  • 9899/1   Android性能优化视频,文档以及工具

  • 9763/3   一张图看清Linux 内核运行原理

  • 返回顶部