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

企业网站建设文章网站utf8乱码

企业网站建设文章,网站utf8乱码,贵阳seo计费管理,找装修活上哪个平台文章目录 前言4 授权规则4.1 基本原理4.2 获取origin4.3 配置授权规则 5 自定义异常结果6 规则持久化 前言 微服务保护学习笔记(一)雪崩问题及解决方案、Sentinel介绍与安装 微服务保护学习笔记(二)簇点链路、流控操作、流控模式(关联、链路) 微服务保护学习笔记(三)流控效果(… 文章目录 前言4 授权规则4.1 基本原理4.2 获取origin4.3 配置授权规则 5 自定义异常结果6 规则持久化 前言 微服务保护学习笔记(一)雪崩问题及解决方案、Sentinel介绍与安装 微服务保护学习笔记(二)簇点链路、流控操作、流控模式(关联、链路) 微服务保护学习笔记(三)流控效果(warm up、排队等待)、热点参数限流 微服务保护学习笔记(四)FeignClient整合Sentinel、线程隔离舱壁模式、熔断降级 4 授权规则 4.1 基本原理 授权规则可以对服务调用方的来源做控制有白名单和黑名单两种方式 白名单来源origin在白名单内的调用者允许访问黑名单来源origin在黑名单内的调用者不允许访问 点击Sentinel控制台左侧菜单“授权规则”可以新增授权规则 资源名受保护的资源例如/order/query流控应用调用方名单origin授权类型设置调用方名单是白名单还是黑名单 4.2 获取origin Sentinel是通过RequestOriginParser这个接口的parseOrigin()方法来获取请求的来源的。 这个方法的作用是从request对象中获取请求者的origin值并返回。默认情况下Sentinel不管请求者从哪里来返回值永远是default也就是说一切请求的来源都被认为是一样的值default。 因此自定义这个接口的实现就可以让不同的请求返回不同的origin。 在sd-user-service微服务中定义一个RequestOriginParser实现类 Component public class HeaderOriginParser implements RequestOriginParser {Overridepublic String parseOrigin(HttpServletRequest request) {// 获取请求头String origin request.getHeader(Origin);if(StringUtils.isEmpty(origin)) {origin blank;}return origin;} }4.3 配置授权规则 为sd-user-service微服务配置授权规则设置origin为sd-user-service的请求为白名单 测试 可见/user/query资源只允许origin请求头为sd-user-service的请求调用。 5 自定义异常结果 默认情况下当发生限流、降级或授权拦截时都会抛出异常到调用方并且异常结果都是flow limmiting即限流从4.3节的截图可以看出。这样不够友好无法得知具体原因。 Sentinel提供了一个BlockExceptionHandler接口用于自定义异常结果 其handle()方法有三个参数其中第三个参数BlockException就是Sentinel拦截时抛出的异常。 BlockException类又包含多个不同的子类 在sd-user-service微服务中定义一个BlockExceptionHandler实现类 Component public class SentinelExceptionHandler implements BlockExceptionHandler {Overridepublic void handle(HttpServletRequest request, HttpServletResponse response, BlockException e) throws Exception {String msg 未知异常;int status 429;if (e instanceof FlowException) {msg 请求被限流了;} else if (e instanceof ParamFlowException) {msg 请求被热点参数限流;} else if (e instanceof DegradeException) {msg 请求被降级了;} else if (e instanceof AuthorityException) {msg 没有授权访问;status 401;}response.setContentType(application/json;charsetutf-8);response.setStatus(status);response.getWriter().println({\msg\: msg , \status\: status });}}重启微服务配置授权规则发起origin请求头为sd-user-service的请求 6 规则持久化 在默认情况下Sentinel的所有规则都是内存存储重启后所有规则都会丢失。因此在上面的测试中每次重启微服务Sentinel配置的规则均会消失。 规则是否能持久化取决于规则管理模式Sentinel支持三种规则管理模式 原始模式Sentinel的默认模式将规则保存在内存重启服务会丢失。pull模式Sentinel控制台将配置的规则推送到Sentinel客户端而客户端会将配置规则保存在本地文件或数据库中以后会定时去本地文件或数据库中查询更新本地规则。 push模式Sentinel控制台将配置规则推送到远程配置中心例如Nacos。Sentinel客户端监听Nacos获取配置变更的推送消息完成本地配置更新。 … 本节完更多内容请查阅分类专栏微服务学习笔记 感兴趣的读者还可以查阅我的另外几个专栏 SpringBoot源码解读与原理分析MyBatis3源码深度解析Redis从入门到精通MyBatisPlus详解SpringCloud学习笔记
http://www.hkea.cn/news/14192570/

相关文章:

  • 品牌建设网站公司排名关键词点击优化工具
  • 网站建设如何传视频宁波做外贸网站
  • 网站建设推广99元吉林网站建设电话
  • 传媒网站上海工商查询网
  • 怎样做网站卖自己的产品教程拼多多一键铺货软件
  • 免费域名注册平台有哪些对网站有效的优化软件
  • 网站推广的意义和方法二级域名申请入口
  • 怎么做网站维护厦门app制作
  • 海南做网站的网络公司开发网站语言
  • 深圳建网站兴田德润优秀湘潭网站建设是什么
  • 怎么把自己做的网站发布出去wordpress用户密码原理
  • 简易网站开发时长平面设计培训内容
  • 关于当当网站建设方案wordpress自适应 分页
  • 做网站加班企业网站设计哪家好
  • 长春网站建设q479185700惠网站建设后期需要后期做的
  • 网站建设字体颜色代码合肥房价查询网
  • 广广东网站建设做好网站建设的重要性
  • 阿里巴巴网站域名建设wordpress排行榜小图标
  • 威海高新园区建设运营有限公司网站淳安县建设局网站
  • 网易严选的网站建设做竞价网站服务器多少钱
  • 西安网站建设和推广做电商有哪些网站有哪些内容
  • 网站开发需要多少费用wordpress可以做什么
  • 网站 建设 拖拉 源码 系统广州 网站建设网络推广网页设计
  • 红番茄 网站点评做相似网站
  • 美丽阿坝网站怎么做桂林旅游网
  • 城市建设网站的项目背景最好看免费观看高清大全电影网站
  • 深圳有哪些网站建设公司怎么做app网站
  • 建设部门网站个人网站设计介绍文字
  • 做淘宝客网站一定要备案吗怎么在网上建网站啊
  • 网站建设综合实训ppt如何在淘宝开网站建设