Day06: ZuulのAPI网关 | 断路器 | 负载均衡 | 负载均衡+断路器

本文介绍了Zuul作为API网关的作用,如合并多次请求、反向代理,并讲解了在SpringCloud中如何配置Zuul进行负载均衡和实现断路器。当提供者服务停掉时,Zuul的断路器未能生效,原因是服务名称配置错误。修复后,Zuul结合Ribbon实现了有效的负载均衡和断路器功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Zuul概述

API网关
1、判断请求是否有资格 shiro
2、反向代理Nginx,转发(效率非常高 Zuul2.0 200万每秒)

SpringCloud API网关
1、SpringCloud gateway
2、NeFlix公司 Zuul

亚马逊官网使用微服务----一个商品页面,购物书记,背后有哪些微服务支持:
历史订单、备注、商品信息、评论、库存、物流信息。
传统方式:
在Service调用各个信息,商品信息,评论信息,等等POJO对象,转为JSon,返回JSP页面,解析Json,取出对应内容。
**好处:**开发相对简单,后台直接拼接完成,后台只需解析一次。

微服务方式
在jsp页面,发起多次ajax请求,例如:商品信息一次ajax,评论一次ajax……发出n次请求。每个请求单独回调,回调函数中解析json,在页面中展现。
好处:背后很多小服务。
坏处:请求次数太多,结构就变得很复杂。
亚马逊商品页面要调用上百个微服务。
网关可以把多次请求合并成一次,内部调用真正的微服务地址,可以把结果合并起来,返回一个json,页面处理这一个json,显示信息到各自位置。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本质拦截器
在这里插入图片描述
用户先访问网关Zuul,转向路由:属性文件(静态),DB数据库(动态)+Redis缓存、Eureka(动态,心跳机制)注册中心、Zuul+Nginx or Nginx+Zuul

程序最终结构:
EureKa+Zuul(gatewat)+Consumer(Hstrix+Feign+Controller)+Provider(Controller)*

在这里插入图片描述

二、项目配置

1、pom文件配置【zuul项目自带web服务,不需要添加依赖】

<!-- 父 -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.4.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<!-- 解决中文乱码问题,指定jdk版本 -->
	<properties>
		<project.build.sourceEncoding>UTF-8&l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值