Spring Cloud使用Zuul构建微服务网关--08

	《Spring Cloud与Docker微服务架构实战》周立 --笔记

8.1 为什么要使用微服务网关

从前面的章节知道,不同微服务具有不同的网络地址,,而外部客户端可能需要调用多个服务的接口节能完成一个业务需求。例如,一个电源购票的手机APP,可能调用多个微服务的接口才能完成一次购票业务:

如果让客户端直接与各个微服务通信,会有以下问题:
  • 客户端会多次请求不同的微服务,增加客户端的复杂性。
  • 存在跨域请求,在一定场景下处理相对复杂
  • 认证复杂,在一定场景下处理相对复杂
  • 难以重构,随着项目的迭代,可能需要重新划分微服务。例如,可能将多个微服务合并成一个或者将一个拆成多个,如果客户端直接与微服务通信,那么重构将难以实施。
  • 某些微服务可能使用了对防火墙/浏览器不友好的协议,直接访问时会有一定的困难。
    以上问题可借助微服务网关解决。微服务网关是介于客户端和服务器端之间的中间层,所有外部请求都会先经过微服务网关。使用微服务网关后,架构可演变成:

微服务网关封装了应用程序的内部结构,客户端只用和网关交互,而无须直接调用特定的微服务接口。使用微服务网关的优点:

  • 易于监控:可在微服务网关收集监控数据并将其推送到外部系统进行分析。
  • 易于认证:可在微服务网关上进行认证,然后将请求转发到后端的微服务,而无需在每个微服务中进行认证。
  • 减少了客户端与各个微服务之间的交互次数。

8.2 Zuul简介

Zuul是Netflix开源的微服务网关,可与Eureka,Ribbon,Hystrix等组件配合使用,Zuul的核心是一系列的过滤器,这些过滤器可以完成以下功能:

  • 身份认证与安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求。
  • 审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生产视图。
  • 动态路由:动态地将请求路由到不同地后端集群。
  • 压力测试:逐渐增加指向集群地流量,以了解性能。
  • 负载分配
  • 静态响应处理
  • 多区域弹性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值