当前位置: 首页 > news >正文

专业供应的网站制作传媒网站

专业供应的网站制作,传媒网站,网站开发面试,政府网站集约化建设工作方案目录 基本介绍 代码实战 架构说明 RequestOriginParser的实现类 网关添加请求头 配置授权规则 基本介绍 授权规则可以对请求方来源做判断和控制。 很多时候,我们需要根据调用来源来判断该次请求是否允许放行,这时候可以使用 Sentinel 的来源…

目录

基本介绍 

代码实战

架构说明

RequestOriginParser的实现类  

网关添加请求头 

配置授权规则


基本介绍 

授权规则可以对请求方来源做判断和控制。

很多时候,我们需要根据调用来源来判断该次请求是否允许放行,这时候可以使用 Sentinel 的来源访问控制(黑白名单控制)的功能。来源访问控制根据资源的请求来源(origin)限制资源是否通过,若配置白名单则只有请求来源位于白名单内时才可通过;若配置黑名单则请求来源位于黑名单时不通过,其余的请求通过。

授权规则可以对调用方的来源做控制,有白名单和黑名单两种方式。

  • 白名单:来源(origin)在白名单内的调用者允许访问

  • 黑名单:来源(origin)在黑名单内的调用者不允许访问

来源访问控制规则(AuthorityRule)非常简单,主要有以下配置项:

  • resource:资源名,即限流规则的作用对象。
  • limitApp:对应的黑名单/白名单,不同 origin 用 , 分隔,如 appA,appB
  • strategy:限制模式,AUTHORITY_WHITE 为白名单模式,AUTHORITY_BLACK 为黑名单模式,默认为白名单模式。

比如我们希望控制对资源 test 的访问设置白名单,只有来源为 appAappB 的请求才可通过,则可以配置如下白名单规则:

AuthorityRule rule = new AuthorityRule();
rule.setResource("test");
rule.setStrategy(RuleConstant.AUTHORITY_WHITE);
rule.setLimitApp("appA,appB");
AuthorityRuleManager.loadRules(Collections.singletonList(rule));

Sentinel是通过RequestOriginParser这个接口的parseOrigin来获取请求的来源的。

public interface RequestOriginParser {/*** 从请求request对象中获取origin,获取方式自定义*/String parseOrigin(HttpServletRequest request);
}

 这个方法的作用就是从request对象中,获取请求者的origin值并返回。

默认情况下,sentinel不管请求者从哪里来,返回值永远是default,也就是说一切请求的来源都被认为是一样的值default。因此,我们需要自定义这个接口的实现,让不同的请求,返回不同的origin

代码实战

架构说明

 一个请求必须经由gateway网关添加请求头key为origin,value为gateway才能被访问service,否则被sentinel阻塞限制访问。

RequestOriginParser的实现类  

再service服务中,我们定义一个RequestOriginParser的实现类:

@Component
public class HeaderOriginParser implements RequestOriginParser {@Overridepublic String parseOrigin(HttpServletRequest request) {// 1.获取请求头String origin = request.getHeader("origin");// 2.非空判断if (StringUtils.isEmpty(origin)) {origin = "blank";}return origin;}
}

我们会尝试从request-header中获取origin值。  

网关添加请求头 

既然获取请求origin的方式是从reques-header中获取origin值,我们必须让所有从gateway路由到微服务的请求都带上origin头

利用一个GatewayFilter来实现,AddRequestHeaderGatewayFilter。修改gateway服务中的application.yml,添加一个defaultFilter:

spring:cloud:gateway:default-filters:- AddRequestHeader=origin,gatewayroutes:# ...略

这样,从gateway路由的所有请求都会带上origin头,值为gateway。而从其它地方到达微服务的请求则没有这个头。

配置授权规则

添加一个授权规则,放行origin值为gateway的请求。

SentinelHystrixresilience4j
隔离策略信号量隔离(并发线程数限流)线程池隔离/信号量隔离信号量隔离
熔断降级策略基于响应时间、异常比率、异常数基于异常比率基于异常比率、响应时间
实时统计实现滑动窗口(LeapArray)滑动窗口(基于 RxJava)Ring Bit Buffer
动态规则配置支持多种数据源支持多种数据源有限支持
扩展性多个扩展点插件的形式接口的形式
基于注解的支持支持支持支持
限流基于 QPS,支持基于调用关系的限流有限的支持Rate Limiter
流量整形支持预热模式、匀速器模式、预热排队模式不支持简单的 Rate Limiter 模式
系统自适应保护支持不支持不支持
控制台提供开箱即用的控制台,可配置规则、查看秒级监控、机器发现等简单的监控查看不提供控制台,可对接其它监控系统
http://www.rdtb.cn/news/17611.html

相关文章:

  • 湖北省建设厅投标报名官方网站优化网站视频
  • 网页站点不安全怎么办链接搜索
  • 优化网站流量网站关键词seo排名
  • 网站建设消费调查问卷中国seo
  • 泉州自助建站软件南宁 百度网盘
  • 和动物做的网站百度手机app下载并安装
  • 网站建设衤金手指花总今日特大新闻
  • wordpress改大公司网站优化方案
  • 怎么做html5网站吗说说seo论坛
  • 网站设计标注图怎么做优化整站
  • 电商建网站运营360官方网站网址
  • 公司创建一个网站需要多少钱市场调研方法有哪些
  • 重庆网站建设的公司百度合作平台
  • 男生做污污事的视频网站企点官网
  • 自助设计网站网络营销方案策划
  • 北京市政府网站首都之窗谷歌商店下载官网
  • 中国十大品牌网网站seo推广员招聘
  • 不让网站在手机怎么做足球世界积分榜
  • 中国设计网站排名网店运营与推广
  • 如何清空网站空间营销排名seo
  • 深圳做二维码网站建设百度搜索大数据查询
  • php如何自学做网站网络营销课程学什么
  • 所有做运动的网站百度搜索引擎seo
  • 做网站什么字体指数是什么
  • 杭州 做网站正规微商免费推广软件
  • 网站域名变更后怎样操作推广普通话手抄报简单又好看
  • 哪个网站可以做设计比赛怎么查搜索关键词排名
  • 易语言做试用点击网站长沙专业做网站公司
  • 怎么注册做鸭网站管理人员需要培训哪些课程
  • 西安网络推广seo0515一点优化