spring cloud系列-02.配置中心Config搭建
来源:互联网 发布:淘宝店铺的介绍女装 编辑:程序博客网 时间:2024/05/01 10:52
Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用。随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。可以轻松添加替代实现,并使用Spring配置将其插入。
参考: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=8888spring.application.name=config-server######################注册服务######################eureka.instance.hostname=config-servereureka.client.register-with-eureka=trueeureka.client.fetch-registry=trueeureka.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=rootspring.cloud.config.server.git.password=root# 开启消息跟踪(可忽略)spring.cloud.bus.trace.enabled=truespring.cloud.bus.refresh.enabled=truemanagement.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@EnableConfigServerpublic 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系列-02.配置中心Config搭建
- 使用Spring Cloud Config搭建配置中心
- 使用Spring Cloud Config搭建配置中心
- 配置中心:Spring Cloud Config
- spring cloud config整合gitlab搭建分布式的配置中心
- spring cloud config整合gitlab搭建分布式的配置中心
- spring cloud config统一配置中心
- Spring Cloud Config 配置中心 教程
- spring cloud config server 配置中心
- Spring Cloud入门1-config配置中心
- SpringCloud: 分布式配置中心(Spring Cloud Config)
- 分布式配置中心Spring Cloud Config初窥
- Spring Cloud学习--配置中心(Config)
- Spring cloud系列三 Spring Cloud 配置中心集群
- 非spring 工程使用 spring cloud config配置中心
- spring cloud config分布式配置中心的高可用
- Spring Cloud入门2——配置中心Config
- SpringCloud之分布式服务配置中心(Spring Cloud Config)
- 风格迁移
- Linux服务器,服务管理--systemctl命令详解,设置开机自启动
- LeetCode 448. Find All Numbers Disappeared in an Array (Easy)
- listview条目布局中设置高度无效的问题
- Android 相册选择照片或拍照获取图片系统6.0及7.0实现
- spring cloud系列-02.配置中心Config搭建
- Activity 从加载布局文件到显示的过程分析
- Strut2框架从3.2.16.3升级到3.2.32遇到的问题
- Python3实现批量下载百度搜索图片
- Android 事件拦截分析
- ajax提交表单时阻止表单自动提交
- cpu个数、核数、线程数、Java多线程关系的理解
- 蓝桥杯 算法提高 三个整数的排序
- 关于android自定义View无法占满屏幕宽度的解决方案