1.网关
作用:网关是给分布式系统进行请求路由分配的服务
功能:
请求路由
请求过滤
请求鉴权
流量控制
统一日志
2.搭建网关(微服务)
2.1依赖、配置文件、启动类
2.2配置路由(id,断言,url)
常用的断言标准:
path路径断言
method方法断言
host 域名断言
2.3过滤器
路由过滤器(路由中配置,只能由当前路由在使用)
网关过滤器(网关中所有路由共享)
自定义/全局 过滤器
2.4 过滤器实现
spring.cloud.gateway.default.filters[0]=AddRequestHeader=Truth, atguigu
2.5网关中的路由和过滤器执行顺序
1.网关先断言,先走route路由,判断请求
2.路由断言后,再交给过滤器处理
3.如何处理超出范围的高并发问题
3.1在微服务上配置访问限制
3.2在网关中进行请求限流
3.3漏桶算法
3.4 spring cloud的流量哨兵(sentinel)
3.5流量削锋(用队列)
4.sentinel安装(端口号都是8858)
1.windows版:在sentinel的jar包文件夹中,打开cmd界面,java -jar + jar包名 --server.port=8858
2.linux版:docker run -d -p 8858:8858 --name sentinel -dashboard bladex/sentinel-dashboard
3.sentinel中的簇点链路(sentinel控制台->簇点链路->流控->高级选项)
流控模式(在配置文件中加入 :spring.cloud.sentinel.web-context-unify=false(用于忽略mvc的资源路径整合))
直接:只影响当前访问路径
关联:路径A 关联路径B,A出问题,影响B
链路:影响一个资源路径下的所有的访问路径
流控效果
快速失败
warm up
排队等待
4.热点参数限流(热点限流必须命名:@SentinelResource("hot"))
上面的流控是统计访问某个资源的所有请求,判断是否超过阈值;
而热点参数限流是分别统计参数相同的请求,判断是否超过阈值。
5.降级和熔断
降级:牺牲一部分服务器的功能,返回一个兜底函数或兜底值文章来源:https://www.toymoban.com/news/detail-788300.html
熔断:当服务器出现危险,直接断开连接文章来源地址https://www.toymoban.com/news/detail-788300.html
到了这里,关于分布式系统网关和sentinel的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!