电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

spring-cloud-gateway降級的實現

瀏覽:98日期:2023-09-12 14:44:20

前言

本文主要研究一下 spring cloud gateway 如何集成 hystrix。

當下游接口負載很大,或者接口不通等其他原因導致超時,如果接口不熔斷的話將會影響到下游接口得不到喘息,網關也會因為超時連接一直掛起,很可能因為一個子系統的問題導致整個系統的雪崩。所以我們的網關需要設計熔斷,當因為熔斷器打開時,網關將返回一個降級的應答。

Maven 配置

添加 hystrix 依賴

pom.xml

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>

項目實戰

在 provider1 服務中添加一個方法,延時 2 秒返回響應。

@GetMapping('/timeout') public String timeout() { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println('休眠了2秒'); return 'timeout test'; }

修改網關配置文件

server: port: 2000spring: application: name: idc-gateway2 redis: host: localhost port: 6379 timeout: 6000ms # 連接超時時長(毫秒) jedis: pool: max-active: 1000 # 連接池最大連接數(使用負值表示沒有限制) max-wait: -1ms # 連接池最大阻塞等待時間(使用負值表示沒有限制) max-idle: 10 # 連接池中的最大空閑連接 min-idle: 5 # 連接池中的最小空閑連接 cloud: consul: host: localhost port: 8500 gateway: discovery: locator: enabled: true # gateway可以通過開啟以下配置來打開根據服務的serviceId來匹配路由,默認是大寫 routes: - id: provider1 uri: lb://idc-provider1 predicates: - Path=/p1/** filters: - StripPrefix=1 - name: Hystrix args:name: defaultfallbackUri: forward:/defaultfallback # 只有該id下的服務會降級 - id: provider2 uri: lb://idc-provider2 predicates: - Path=/p2/** filters: - StripPrefix=1# hystrix 信號量隔離,1.5秒后自動超時hystrix: command: default: execution: isolation: strategy: SEMAPHORE thread: timeoutInMilliseconds: 1500

網關添加降級處理類

@RestControllerpublic class FallbackController {@RequestMapping('/defaultfallback')public Map<String,Object> defaultfallback(){System.out.println('降級操作...');Map<String,Object> map = new HashMap<>();map.put('code',200);map.put('msg','服務超時降級');map.put('data',null);return map;}}

降級測試

超時服務降級

curl http://localhost:2000/p1/timeout

返回

{'msg':'服務超時降級','code':200,'data':null}

其他異常

spring-cloud-gateway 調用下游服務返回的異常,網關不做任何處理,會直接返回。大家想一下為什么在網關不去處理下游異常呢? 因為很多時候下游的異常是包含有效信息的(異常信息千千萬),如果在網關處做了統一返回,就失去了返回異常的意義。

spring-cloud-starter-netflix-hystrix 內置的 Hystrix 過濾器是HystrixGatewayFilterFactory。 感興趣的小伙伴可以自行閱讀相關源碼。

到此這篇關于spring-cloud-gateway降級的實現的文章就介紹到這了,更多相關spring-cloud-gateway降級 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 样品瓶(色谱样品瓶)百科-浙江哈迈科技有限公司 | 耐高温电缆厂家-远洋高温电缆 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 贵州成人高考网_贵州成考网| 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 安徽净化工程设计_无尘净化车间工程_合肥净化实验室_安徽创世环境科技有限公司 | 闭端端子|弹簧螺式接线头|防水接线头|插线式接线头|端子台|电源线扣+护线套|印刷电路板型端子台|金笔电子代理商-上海拓胜电气有限公司 | 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 上海阳光泵业制造有限公司 -【官方网站】 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 物流之家新闻网-最新物流新闻|物流资讯|物流政策|物流网-匡匡奈斯物流科技 | 西安展台设计搭建_西安活动策划公司_西安会议会场布置_西安展厅设计西安旭阳展览展示 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 电镀整流器_微弧氧化电源_高频电解电源_微弧氧化设备厂家_深圳开瑞节能 | 亮点云建站-网站建设制作平台| 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | C形臂_动态平板DR_动态平板胃肠机生产厂家制造商-普爱医疗 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | LINK FASHION 童装·青少年装展 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 除甲醛公司-甲醛检测-广西雅居环境科技有限公司 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 【官网】博莱特空压机,永磁变频空压机,螺杆空压机-欧能优 | 成都LED显示屏丨室内户外全彩led屏厂家方案报价_四川诺显科技 | 电动球阀_不锈钢电动球阀_电动三通球阀_电动调节球阀_上海湖泉阀门有限公司 | 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 流变仪-热分析联用仪-热膨胀仪厂家-耐驰科学仪器商贸 | 铝合金电阻-无源谐波滤波器-上海稳达电讯设备厂 | 耐高温电缆厂家-远洋高温电缆 | 东莞海恒试验仪器设备有限公司 | 河南中专学校|职高|技校招生-河南中职中专网 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 智能垃圾箱|垃圾房|垃圾分类亭|垃圾分类箱专业生产厂家定做-宿迁市传宇环保设备有限公司 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 苏州注册公司_苏州代理记账_苏州工商注册_苏州代办公司-恒佳财税 | MVE振动电机_MVE震动电机_MVE卧式振打电机-河南新乡德诚生产厂家 | 电动葫芦|手拉葫芦|环链电动葫芦|微型电动葫芦-北京市凌鹰起重机械有限公司 |