range

If there were you, the world would be just right

降级种类:

1、 根据降级的开关位置:分为服务代码降级和开关前置降级。

代码降级就是利用代码控制,这种方式比前置降级要low并不推荐
前置降级是把降级开关放到http请求链路层的上游,降低链路层消耗。比如提升到nginx,甚至可以提升到前端,当提升到前端,后端访问压力接近于0

2、 根据读写:分为读降级和写降级。

读降级,比如,读取动态数据,降级为读取静态数据。
写降级,比如,写入mysql,降级为写入消息队列, 等高峰期过后,在从队列写入mysql。

3、 根据降级的性质:分为返回内容降级,限流降级,限速降级。

返回内容降级,比如,返回实时数据,降级为返回兜底数据
限流降级,比如,1000个请求,我只接受500个。 这么做也是无奈之下选择,要不然系统崩了 谁都访问不了
限速降级,比如,对于那些访问过于频繁的ip进行限速

【限流限速】
nginx 自带限流限速模块,比如ngx_http_limit_req_module和ngx_http_limit_conn_module 。但是这类模块只是提供了在nginx配置文件中进行简单的参数配置。

4、根据降级的维护特点:分为手动降级和自动降级。

手动降级,是人为看到系统负载异常后,手动调整降级
自动降级,是系统监测到异常后,自动降级,自动降级虽然更加智能,但有时候自动脚本可能会干一些超乎预料的事情。

实现降级流程(nginx+lua+redis实现降级)

Snipaste_2021-06-18_17-11-16.jpg


添加新评论 »

在这里输入你的评论...