Spring Cloud Zuul--服务网关组件配置与使用

目标:使用Spring Cloud Zuul建立服务网关

开发环境:IntelliJ IDEA

操作步骤:基础环境配置->Zuul组件配置->应用参数配置->客户端微服务编写->应用运行测试(Eureka/Zuul/Client)

1.基础环境配置

与Eureka组件类似,新建一个项目Spring_Cloud_Zuul,配置参考博客:

https://blog.csdn.net/xingyuzhe/article/details/79907748

2.Zuul组件配置

API网关在应用系统中的作用为统一处理外部客户端访问,实现请求路由、负载均衡、校验过滤等功能。

Spring Cloud Zuul是基于Netflix Zuul实现的API网关组件,通过与服务注册中心Eureka组件协作,解决了服务实例维护的问题。

Netflix Zuul项目地址:https://github.com/Netflix/zuul

Zuul组件核心功能:

(1)Zuul、Ribbon以及Eureka相结合,可以实现智能路由和负载均衡的功能,Zuul能够将请求流量按某种策略分发到集群状态的多个服务实例。

(2)网关将所有服务的API接口统一聚合,并统一对外暴露。外界系统调用API接口时,都是由网关对外暴露的API接口。保护内部微服务单元的API接口。

(3)网关服务可以做用户身份认证和权限认证,防止非法请求操作API接口,对服务器起到保护作用。

(4)网关可以实现监控功能,实时日志输出,对请求进行记录。

(5)网关可以用来实现流量监控,在高流量的情况下对服务进行降级。

(6)API接口从内部服务分离出来,方便做测试。

网关实现基于HTTP协议,并分为多个过滤器:


开发流程:

(1)新建Module工程-CaaS_Zuul_Gateway



项目结构:


(2)添加依赖配置

添加Eureka Client组件支持,功能为将自身作为一个应用注册到服务注册中心:


添加Zuul组件支持,提供网关服务:


添加Spring Boot的web功能以及测试功能:


添加Maven插件支持:


(3)编写Module项目主程序

@EnableEurekaClient注解开启EurekaClient的功能

@EnableZuulProxy注解开启Zuul的功能


3.应用参数配置

路由配置在application.yml中实现


4.客户端微服务编写

为测试网关功能,需编写客户端微服务,其中包含简单接口调用。

开发流程:

(1)新建一个Module工程-CaaS_Zuul_Client



(2)添加配置依赖

添加eureka客户端以及spring boot配置依赖


添加maven插件依赖


(3)编写Module项目主程序

@EnableEurekaClient注解开启注册服务功能


(4)编写Module项目控制器

新建EurekaClientController.java


(5)编写应用运行配置文件

编写application.yml


5.应用运行测试(Eureka/Zuul/Client)

应用运行测试过程启用4个微服务:服务注册中心Eureka、两个Client服务、服务网关Zuul

其中两个客户端服务使用不同端口号:

java -jar xx.jar --server.port=8762

java -jar xx.jar --server.port=8763

查看服务注册中心:网关服务和客户端服务已经注册成功


通过网关调用客户端服务接口:http://localhost:5000/zuulclientapi/hello?name=caoxin


刷新页面:自动完成负载均衡





  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值