Config服务读取加载远程信息
| 课程回顾
1、微服务调用常见现象?
- 客户端会多次请求不同的微服务,增加了客户端的复杂性。
- 存在跨域请求,在一定场景下处理相对复杂。
- 认证复杂,每个服务都需要独立认证。
- 难以重构,随着项目的迭代,可能需要重新划分微服务。例如,可能将多个服务合并成一个或者将一个服务拆分成多个。如果客户端直接与微服务通讯,那么重构将会很难实施。
- 某些微服务可能使用了防火墙/浏览器不友好的协议,直接访问会有一定困难。
2、过滤器的作用?
过滤器本身并不生成请求和响应对象,它只提供过滤作用。如我们大觅网的支付功能,如果请求中不带token不允许它进入消费者
| 预习检查
1、git仓库常见有哪些?
码云、GitHub、私服
2、启动配置服务注解是?
@EnableConfigServer
| 章节目标
- 配置码云仓库。
- 创建配置服务工程。
- 网关获取Config服务工程数据。
| 章节重点、难点
1)、重点
网关获取Config服务工程数据。
2)、难点
创建配置服务工程、网关获取Config服务工程数据。
| 知识点讲解
配置码云仓库
1、注册登录码云
访问
https://gitee.com/
增加仓库
新增config-file文件夹
新建dm-gateway-zuul-del.properties文件,
在dm-gateway-zuul-dev.properties文件中增加一行数据
2、新建分支
增加分支
设置分支名称
创建配置服务工程
1、增加配置服务工程。
创建此工程和Consumer服务基本一样,都是客户端。
设置组织名称、包名等
设置要导入的jar包
2、修改导入jar包
修改pom.xml如下:
Spring Boot版本改成:1.5.6.RELEASE
Spring Cloud版本改成:Dalston.SR4
Spring Cloud客户端的包定位改成:spring-cloud-config-server
示例如下:
<!--第一处改Spring Boot版本改成 1.5.6.RELEASE -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath/>
</parent>
<!--第二处改Spring Cloud版本改成 Dalston.SR4 -->
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Dalston.SR4</spring-cloud.version>
</properties>
<!--第三处改客户端包定位 spring-cloud-config-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
3、客户端启动配置
启动类上加@EnableConfigServer注解
示例如下:
@EnableConfigServer
@EnableDiscoveryClient
@SpringBootApplication
public class DmwConfigApplication {
public static void main(String[] args) {
SpringApplication.run(DmwConfigApplication.class, args);
}
}
4、配置application.yml文件
在resources目录下的application.yml文件配置如下:
server:
port: 7800
spring:
application:
name: dm-config-server #此处的名字必须和
cloud:
config:
server:
git:
uri: https://gitee.com/ichinway/spring-cloud-demo.git
username: 619350550@qq.com
password: 619350550@qq.com
search-paths: config-file #查询的文件夹和仓库中创建的要一样
eureka:
client:
service-url:
defaultZone: http://root:dmw@172.16.2.1:7776/eureka/
uri
地址是在gitee中复制
search-paths
是仓库中的文件夹
5、测试访问
访问规则
测试查询,默认显示master中的文件内容。
用分支查