• sb-cloud-config 配置中心
<?xml version="1.0" encoding="UTF-8"?>
<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.huarui</groupId>
<artifactId>sb_cloud_config</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>sb_cloud_config</name>
<packaging>jar</packaging>
<description>Demo project for Spring Boot</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.13.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Edgware.SR3</spring-cloud.version>
</properties> <dependencies> <!-- 消息总线支持 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency> <!-- eureka client -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency> <!-- config依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

pom.xml

server:
port: 9002 spring:
application:
name: sb-cloud-config
cloud:
config:
server:
git:
uri: https://github.com/youxiu326/sb_cloud_config_repo
username: youxiu326
password: 123456
basedir: D:\sortware\IDEA\package\sb_springcloud_package\basedir
#searchPaths: spring-cloud/helloworldConfig
#RebbitMq
rabbitmq:
host: 39.108.85.204
port: 5672
username: guest
password: guest eureka:
client:
serviceUrl:
defaultZone: http://39.108.85.204:8761/eureka/
instance:
#注册时使用ip而不是主机名
prefer-ip-address: true
#指定此实例的ip
ip-address: 39.108.85.204 # 博客: https://www.cnblogs.com/moonandstar08/p/7571610.html # 关闭安全验证
management:
security:
enabled: false

application.yml

注: 避免通过服务名无法发现服务

eureka:
client:
serviceUrl:
defaultZone: http://39.108.85.204:8761/eureka/
instance:
#注册时使用ip而不是主机名
prefer-ip-address: true
#指定此实例的ip
ip-address: 39.108.85.204 多网卡环境下Eureka服务注册IP 不正确,部署服务时手动指定ip,避免该服务无法被发现
@SpringBootApplication
@EnableEurekaClient //@EnableEurekaClient将它注册到服务中心
@EnableConfigServer //@EnableConfigServer注解说明了一个Config Server
public class SbCloudConfigApplication { //http://localhost:9002/application-dev.yml public static void main(String[] args) {
SpringApplication.run(SbCloudConfigApplication.class, args);
} }

  • sb_cloud_config_client
<?xml version="1.0" encoding="UTF-8"?>
<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.huarui</groupId>
<artifactId>sb_cloud_config_client</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>sb_cloud_config_client</name>
<description>Demo project for Spring Boot</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.13.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Edgware.SR3</spring-cloud.version>
</properties> <dependencies> <!-- 消息总线支持 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency> <!-- eureka client -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency> <!-- config依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

pom.xml

spring:
application:
name: sb_cloud_config_client
cloud:
config:
discovery:
enabled: true
service-id: SB-CLOUD-CONFIG
profile: dev
#uri: http://localhost:9002/
# #RebbitMq
rabbitmq:
host: 39.108.85.204
port: 5672
username: guest
password: guest #management:
# security:
# enabled: false #刷新时,关闭安全验证 eureka:
client:
serviceUrl:
defaultZone: http://39.108.85.204:8761/eureka/
instance:
#注册时使用ip而不是主机名
prefer-ip-address: true
#指定此实例的ip
#ip-address: ip
server:
port: 9003

bootstrap.yml

bootstrap.yml 先于 application.yml 读取

@SpringBootApplication
@EnableEurekaClient
public class SbCloudConfigClientApplication { public static void main(String[] args) {
SpringApplication.run(SbCloudConfigClientApplication.class, args);
} // post http://localhost:9003//bus/refresh }
@RestController
@RefreshScope
public class HelloController { @Value("${lihui}")
private String lihui; @GetMapping("/hello")
public String hello(){
return lihui;
}
}

github:结构

  • 依次启动  eureka server,  config,  config-client
  • 访问config-client  http://localhost:9003/hello
  • 可以发现config-client中的配置文件信息于config服务中获得
  • 修改github上的配置文件,刷新页面,并无改变
  • post 方式访问 http://39.108.85.204:9002/bus/refresh

    刷新页面,值已改变

  • 每次修改github配置文件后,每次自己访问也是非常不方便的,可在github中配置webHook 每次提交手动发送一个请求

  • 这样每次提交文件时,就会向rabbitMQ队列中发消息,所有收到消息的就会更新 带有 @RefreshScope 注解的类

  

SpringCloud个人笔记-03-Config初体验的更多相关文章

  1. Kubernetes 笔记 02 demo 初体验

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 从前面的文章我 ...

  2. SpringCloud学习笔记(5)——Config

    参考Spring Cloud官方文档第4~10章 官网文档中所有示例中的配置都在git上 https://github.com/spring-cloud-samples/config-repo Par ...

  3. [开发笔记]-Jqplot图表初体验

    文章内容为初次使用Jqplot图表插件的测试代码,仅供参考. <html xmlns="http://www.w3.org/1999/xhtml"> <head& ...

  4. 云中沙箱学习笔记2-ECS之初体验

    1.1 背景知识 云服务器(Elastic Compute Service, 简称ECS),是一种简单高效,处理能力可以弹性伸缩的计算服务.ECS的相关术语说明如下: --实例(Instance):是 ...

  5. VSTO学习笔记(十五)Office 2013 初体验

    原文:VSTO学习笔记(十五)Office 2013 初体验 Office 2013 近期发布了首个面向消费者的预览版本,我也于第一时间进行了更新试用.从此开始VSTO系列全面转向Office 201 ...

  6. Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用[z]

    前言 早在去年就简单的使用了一下Spring Boot,当时就被其便捷的功能所震惊.但是那是也没有深入的研究,随着其在业界被应用的越来越广泛,因此决定好好地深入学习一下,将自己的学习心得在此记录,本文 ...

  7. SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud

    先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1.这 ...

  8. SpringCloud初体验:前言

    体验了一天 SpringCloud 后发现,人们所讲的微服务架构不是一门技术,而是一种风格. 感觉确实可以这么认同,因为一套 SpringCloud 玩下来(未深入.未完整「链路追踪.动态刷新配置…… ...

  9. 数据结构(逻辑结构,物理结构,特点) C#多线程编程的同步也线程安全 C#多线程编程笔记 String 与 StringBuilder (StringBuffer) 数据结构与算法-初体验(极客专栏)

    数据结构(逻辑结构,物理结构,特点) 一.数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关.逻辑结构包括: 集合 数 ...

  10. SpringCloud Feign 之 Fallback初体验

    SpringCloud Feign 之 Fallback初体验 在微服务框架SpringCloud中,Feign是其中非常重要且常用的组件.Feign是声明式,模板化的HTTP客户端,可以帮助我们更方 ...

随机推荐

  1. 在Mac上安装mysql并配置环境(详细篇)

    在Mac上安装mysql并配置环境(详细篇) 1.下载mysql mysql官网 这一步根据自己电脑架构选择,分为arm和x86 下载完成之后打开就可以 接下来运行安装就可以,一直下一步,设置完密码就 ...

  2. 【基础知识】CPU 指令执行的五个阶段,cpu就是用来执行指令的

    IF(Instruction fetch) 取指:从 Instruction-Memory 中读取指令,并在下一个时钟上升沿到来时把指令送到 ID 级的指令缓冲器 id_ir 中.该级控制信号决定下一 ...

  3. Java课程设计---安装Mysql及管理工具

    1.安装mysql 没有安装包的可以在这个地址下载:https://dev.mysql.com/downloads/mysql/5.5.html 双击提供的安装包 (安装路径可以不用更改) 在弹出的窗 ...

  4. Java课程设计---项目数据库设计(含实体类)

    1.表设计 (1)新建表tb_student(学生表) (2)新建表tb_admin(管理员表) (3)新建表tb_teacher(教师表) (4)新建表tb_course(课程表) (5)新建表tb ...

  5. 错误try……except……else……finally 记录错误logging 抛出错误raise

    1.错误处理机制 try--except--finally 格式: try: 可能出错的代码 except xxx1Error as e: 处理1 except xxx2Error as e: 处理2 ...

  6. Tableau学习Step4一数据解释、异常值监测、参数使用、分析结果如何对外发布

    Tableau学习Step4一数据解释.异常值监测.参数使用.分析结果如何对外发布 本文首发于博客冰山一树Sankey,去博客浏览效果更好. 一. 前言 本教程通过一个案例从浅到深来学习Tableau ...

  7. Chapter03 Java变量

    Chapter03 变量 目录 Chapter03 变量 3.1 为什么需要变量 3.1.1 一个程序就是一个世界 3.1.2 变量是程序的基本组成单位 3.1.3 简单原理图 3.2 变(变化)量( ...

  8. SpringMVC入门一:基础知识(依赖、注解、文件上传/下载、拦截器、异常处理等)

    为了使Spring可插入MVC架构,SpringFrameWork在Spring基础上开发SpringMVC框架,从而使用Spring进行WEB开发时可以选择使用Spring的SpringMVC框架作 ...

  9. Docker-镜像常用命令&安装Mysql\Nginx\ES\Kibana练习

    目录 前言: 一.常用命令 1.帮助命令 2.查看现在本地有哪些镜像 3.镜像搜索&下载&运行&停止&删除 镜像搜索 镜像下载 不指定版本下载 指定版本下载 运行镜像 ...

  10. 【爬虫】python爬虫

    爬虫章节 1.python如何访问互联网 URL(网页地址)+lib=>urllib 2.有问题查文档:python document. 3.response = urllib.request. ...