700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > springcloud之服务网关Netflix Zuul与分布式配置Spring Cloud Config

springcloud之服务网关Netflix Zuul与分布式配置Spring Cloud Config

时间:2022-11-25 05:44:47

相关推荐

springcloud之服务网关Netflix Zuul与分布式配置Spring Cloud Config

一、服务网关——Netflix Zuul1.1、简介1.2、使用1.2.1、导包1.2.2、创建并配置application.yml1.2.3、修改入口类1.2.4、启动测试 二、分布式配置——Spring Cloud Config2.1、简介2.1.1、介绍2.1.2、架构2.1.3、作用 2.2、与github集成2.3、服务端配置2.3.1、github创建配置文件2.3.2、导包2.3.3、配置application.yml文件2.3.4、启动类配置2.3.5、测试 2.4、客户端配置.2.4.1、导包2.4.2、配置全局bootstrap.yml2.4.3、测试

阅读前须知:[spring cloud入门+注册中心搭建Netflix Eureka](/qq_38061322/article/details/87474406

一、服务网关——Netflix Zuul

1.1、简介

Zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。

Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门,也要注册入Eureka.

官网资料

/Netflix/zuul

1.2、使用

创建maven项目

1.2.1、导包

<!--springboot支持--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-zuul</artifactId></dependency>

1.2.2、创建并配置application.yml

server:port: 4399spring:application:name: MICROSERVICE-ZUUL-GATEWAYeureka:client:service-url:defaultZone: http://localhost:7001/eureka #注册到注册中心instance:instance-id: gateway-prefer-ip-address: false #不显示ip地址zuul:routes:springcloud-demo-ehr: /api/** #springcloud-demo-ehr的别名 通过访问http://localhost:4399/api/getEmp/1ignored-services: springcloud-demo-ehr #忽视不创建路由规则 这样不能访问http://localhost:4399/springcloud-demo-ehr/getEmp/1prefix: /ehr #前缀 访问http://localhost:4399/ehr/api/getEmp/1

1.2.3、修改入口类

@SpringBootApplication@EnableZuulProxypublic class Zull_RunApp {public static void main(String[] args) {SpringApplication.run(Zull_RunApp.class,args);}}

1.2.4、启动测试

启动注册中心

启动服务提供者

启动zuul测试

二、分布式配置——Spring Cloud Config

微服务架构中,每个项目都有一个yml配置,管理起来麻烦。要使用spring cloud config来统一管理。

2.1、简介

2.1.1、介绍

在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config client。

2.1.2、架构

2.1.3、作用

集中管理配置不同环境不同配置,动态化的配置更新,分环境部署运行期间动态调整配置,不需要在每个服务部署的机器上编写配置文件,服务会向配置中心统一拉取配置自己的信息当配置发生冲突时,服务不需要重启即可感知到配置的变化并应用新的配置将配置xinxi以REST接口的形式暴露

2.2、与github集成

创建maven项目

2.3、服务端配置

2.3.1、github创建配置文件

2.3.2、导包

<dependencies><!--springboot支持--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><!--eureka客户端--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!--配置中心支持--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId></dependency></dependencies>

2.3.3、配置application.yml文件

server:port: 1299eureka:client:service-url:defaultZone: http://localhost:7001/eurekainstance:prefer-ip-address: truespring:application:name: spring-cloud-config-servercloud:config:server:git:uri: /hpyao/microservice-config.gitusername: #你的github账号password: #你的github密码

2.3.4、启动类配置

@SpringBootApplication@EnableDiscoveryClient //标识是一个注册中心客户端@EnableConfigServer //开启配置服务端public class ConfigRunApp{public static void main(String[] args) {SpringApplication.run(ConfigRunApp.class,args);}}`

2.3.5、测试

http://localhost:1299/application-user/test

http://localhost:1299/application-user/dev

2.4、客户端配置

.2.4.1、导包

<!--springboot支持--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><!--配置中心支持--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency>

2.4.2、配置全局bootstrap.yml

可以不要application.yml,如果有的话,则是合并

spring:cloud:config:name: application-user #github上面名称profile: test #环境label: master #分支uri: http://127.0.0.1:1299 #配置服务器eureka:client:service-url:defaultZone: http://localhost:7001/eureka #告诉服务提供者要把服务注册到哪儿 #单机环境instance:prefer-ip-address: true #显示客户端真实ip

2.4.3、测试

开启注册中心

开启服务端配置中心

开启客户端

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。