spring cloud系列-02.配置中心Config搭建
2017-12-20 14:31
531 查看
Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用。随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。可以轻松添加替代实现,并使用Spring配置将其插入。
参考:spring cloud config 中文文档地址
本文主要讲述config工程搭建过程,使用的gitlab作为配置服务器。当然你也可以选择本地文件系统或者SNV来作为你配置中心的配置管理服务器。
下面是整个搭建过程和一些主要说明,如有错误欢迎指正。
1.pom文件
2.application.properties配置文件
3.spring cloud 启动类
注解说明
@EnableEurekaClient:
开启注册中心客户端,配合application.properties中的【注册服务】配置块可将服务注册到注册中心
@SpringBootApplication:
springboot启动类注解
@EnableConfigServer:
我是config server,这个比较好理解了。
到此为止config搭建完毕,整个工程的目录结构如下:
启动注册中心和config服务,在注册中心应该可以看到config-server的服务了:
参考:spring cloud config 中文文档地址
本文主要讲述config工程搭建过程,使用的gitlab作为配置服务器。当然你也可以选择本地文件系统或者SNV来作为你配置中心的配置管理服务器。
下面是整个搭建过程和一些主要说明,如有错误欢迎指正。
1.pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xxxx</groupId> <artifactId>spring-config</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>jar</packaging> <parent> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-parent</artifactId> <version>Dalston.SR1</version> <relativePath /> <!-- lookup parent from repository --> </parent> <!-- spring boot基本环境 --> <dependencies> <!--服务配置所需环境 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </exclusion> </exclusions> </dependency> <!--服务注册所需环境 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> <!-- 添加monitor监控(可忽略) --> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>1.3.4</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.jolokia</groupId> <artifactId>jolokia-core</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
2.application.properties配置文件
server.port=8888 spring.application.name=config-server ######################注册服务###################### eureka.instance.hostname=config-server eureka.client.register-with-eureka=true eureka.client.fetch-registry=true eureka.client.serviceUrl.defaultZone=http://127.0.0.1:8761/eureka/ eureka.instance.prefer-ip-address=true #######################本地配置中心 #spring.profiles.active=native #spring.cloud.config.server.native.searchLocations=file:F:\\springcloud\\config #spring.cloud.config.profile=dev ######################远程配置中心###################### #config工程所在gitlab地址 spring.cloud.config.server.git.uri=http://192.168.1.88:10080/spring-config.git #配置文件所处的位置,config表示在工程根目录的config目录下找配置文件 spring.cloud.config.server.git.searchPaths=config #分支名称,会拉取spring-config工程的master分支中的配置和代码 spring.cloud.config.label=master #可以理解为后缀,和注册中心的spring.application.name+该后缀+.properties获取该服务的相应配置文件 #如在注册中心注册了个名为【kafka-server】的服务,则kafka-server启动时则会去config文件夹下load #名为【kafka-server-dev.properties】的配置文件 spring.cloud.config.profile=dev #gitlab服务器的登录用户名和密码 spring.cloud.config.server.git.username=root spring.cloud.config.server.git.password=root # 开启消息跟踪(可忽略) spring.cloud.bus.trace.enabled=true spring.cloud.bus.refresh.enabled=true management.security.enabled=false # 注册中心中的服务说明(可忽略) info.app.name="@project.name@" info.app.description="config-server for project" info.app.version="@project.version@" info.app.spring-boot-version="@project.parent.version@"
3.spring cloud 启动类
package com.spring.config; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @EnableEurekaClient @SpringBootApplication @EnableConfigServer public class ConfigServerApplication { public static void main(String[] args) { SpringApplication.run(ConfigServerApplication.class, args); } }
注解说明
@EnableEurekaClient:
开启注册中心客户端,配合application.properties中的【注册服务】配置块可将服务注册到注册中心
@SpringBootApplication:
springboot启动类注解
@EnableConfigServer:
我是config server,这个比较好理解了。
到此为止config搭建完毕,整个工程的目录结构如下:
spring-config |--src/main/java | |-- com.spring.config | | |-- ConfigServerApplication.java |--src/main/resources | |--application.proerties |--config | |--kafka-server-dev.proerties |--pom.xml
启动注册中心和config服务,在注册中心应该可以看到config-server的服务了:
相关文章推荐
- Spring Cloud云服务架构 - commonservice-config配置服务搭建
- Spring Cloud Config 配置中心搭建
- 详解spring cloud config整合gitlab搭建分布式的配置中心
- Spring Cloud云服务架构 - commonservice-config配置服务搭建
- spring cloud系列一 搭建配置服务器(分布式配置管理)configserver
- Spring Cloud云服务架构 - commonservice-config配置服务搭建
- 干货实操:微服务Spring Cloud 系列(一) Spring cloud Config 用SVN做配置仓库
- 六、Spring Cloud系列:Config服务端与客户端常用配置
- Spring Cloud学习--配置中心(Config)
- Spring Cloud(十)高可用的分布式配置中心 Spring Cloud Config 中使用 Refresh
- Spring Cloud(Dalston.SR5)--Config 集群配置中心-刷新配置
- SpringCloud | Docker 学习系列 | Kubernetes 学习 将SpringCloud Config 配置中心部署到docker中并放入到Kubernetes中管理
- spring cloud搭建微服务second-fiberhome(三):consul结合config以及bus实现配置文件通过RabbitMQ动态调用
- Spring Cloud (5) | 配置中心 Config Server 配置git or github or gitlab
- springCloud系列 Config配置中心
- Spring cloud系列二 Spring Cloud 配置中心的基本用法
- Spring Cloud之配置中心的搭建
- Spring Cloud(十)高可用的分布式配置中心 Spring Cloud Config 中使用 Refresh
- spring cloud config整合gitlab搭建分布式的配置中心