动态流量切换路由降级方案之设计篇
nginx动态负载upstream四种方案之调研篇
1.整体架构方案
2.分解决执行
2.1动态流量切换选择模块ngx_dynamic_upstream,api+python方式(直接操作upstream里的server)
因为api接口操作不是太直观,在django上以web方式增删查改upstream
HTTP APIs
You can operate upstreams dynamically with HTTP APIs.
list
$ curl "http://127.0.0.1:6000/dynamic?upstream=zone_for_backends" server 127.0.0.1:6001; server 127.0.0.1:6002; server 127.0.0.1:6003; $
verbose
$ curl "http://127.0.0.1:6000/dynamic?upstream=zone_for_backends&verbose=" server 127.0.0.1:6001 weight=1 max_fails=1 fail_timeout=10; server 127.0.0.1:6002 weight=1 max_fails=1 fail_timeout=10; server 127.0.0.1:6003 weight=1 max_fails=1 fail_timeout=10; $
update_parameters
$ curl "http://127.0.0.1:6000/dynamic?upstream=zone_for_backends&server=127.0.0.1:6003&weight=10&max_fails=5&fail_timeout=5" server 127.0.0.1:6001 weight=1 max_fails=1 fail_timeout=10; server 127.0.0.1:6002 weight=1 max_fails=1 fail_timeout=10; server 127.0.0.1:6003 weight=10 max_fails=5 fail_timeout=5; $
The supported parameters are blow.
- weight
- max_fails
- fail_timeout
down
$ curl "http://127.0.0.1:6000/dynamic?upstream=zone_for_backends&server=127.0.0.1:6003&down=" server 127.0.0.1:6001 weight=1 max_fails=1 fail_timeout=10; server 127.0.0.1:6002 weight=1 max_fails=1 fail_timeout=10; server 127.0.0.1:6003 weight=1 max_fails=1 fail_timeout=10 down; $
up
$ curl "http://127.0.0.1:6000/dynamic?upstream=zone_for_backends&server=127.0.0.1:6003&up=" server 127.0.0.1:6001 weight=1 max_fails=1 fail_timeout=10; server 127.0.0.1:6002 weight=1 max_fails=1 fail_timeout=10; server 127.0.0.1:6003 weight=1 max_fails=1 fail_timeout=10; $
add
$ curl "http://127.0.0.1:6000/dynamic?upstream=zone_for_backends&add=&server=127.0.0.1:6004" server 127.0.0.1:6001; server 127.0.0.1:6002; server 127.0.0.1:6003; server 127.0.0.1:6004; $
remove
$ curl "http://127.0.0.1:6000/dynamic?upstream=zone_for_backends&remove=&server=127.0.0.1:6003"
server 127.0.0.1:6001;
server 127.0.0.1:6002;
server 127.0.0.1:6004;
server 127.0.0.1:6001;
server 127.0.0.1:6002;
server 127.0.0.1:6004;
reference:
2.2 路由方案nginx+lua+api
1.制定路由规则
2.对外提供路由api(权限控制,暂时只提供get)
3.一键持久化redis数据,一键回复redis数据
4.冗余,容错机制
封装redis路由,restful api
2.3应用降级
高流量,大并发等异常情况处理。
这个方案的思路是跟前两个方案有两个内存关联,根据不同的场景,组合不同的操作细则。
相关推荐
java实现流量控制java实现流量控制java实现流量控制java实现流量控制java实现流量控制
静态路由和动态路由同时存在,怎么使用动态路由和静态路由同时在一个路由上配置。
Upsync,微博开源基于Nginx容器动态流量管理方案 。Nginx 以其超高的性能与稳定性,在业界获得了广泛的使用,微博的七层就大量使用了 Nginx 。结合 Nginx 的健康检查模块,以及动态 reload 机制,可以近乎无损的服务...
分析了当今几种路由算法的不足和研究了移动代理优越性的基础上,提出了一种基于移动代理的动态路由协议算法的设计方案.该算法用移动代理去发现网络的短期状态,并用服务代理保存网络的长期运行状况.该文还用JAVA和IBM...
Sentinel 的历史 2012 年,Sentinel 诞生,主要功能为入口流量控制。 2013-2017 年,Sentinel 在阿里...2022 年,Sentinel 品牌升级为流量治理,领域涵盖流量路由/调度、流量染色、流控降级、过载保护/实例摘除等;同时
计算机网络的实验报告:静态路由和动态路由。。。。。
HC6361 极路由 极壹 降级程序,
木及路由降级包.rar
IP路由协议设计 IP路由协议设计 IP路由协议设计
动态路由实验总结.docx
spring 动态路由代码 急需下载 spring 动态路由代码spring 动态路由代码
微服务动态路由技术方案.pptx
用lua语言实现nginx的插件,并且实现动态路由的功能,该文档描述详细,通过对OpenResty的描述来实现具体功能
4)在路由技术方面采取RIPV 2或OSPF动态路由技术。 5)模拟企业VPN网络的搭建工作,并实现两个公司通过互联网来实现通信,两个公司间的广域网链路采用VPN(IPsec)实现安全通信。 6)网络采用双核心结构,将...
内附:静态路由默认路由动态路由RIP实验配置,有图,注释文档。
" 路由器动态路由的配置方法 " "一、实验目的: " "1.理解动态路由的工作原理; " "2. 学习并掌握动态路由协议RIP的配置; " "3.学习并掌握动态路由协议OSPF的配置; " "4.进一步学习路由器的配置命令。 " "二、...
本人计算机网络课程的实验,兴许对大家有帮助,内含实验报告一份,还有Cisco的工程文件,静态路由和动态路由都以配置好。
RIP动态路由实验:V1版本、V2版本(对有类路由进行汇总) ripV1:以每30秒一次的频率拷贝自己的路由表副本作为路由更新发送给其直连邻居,更新方式为直播,即以255.255.255.255为目的地址发送报文 ripV2:更新方式为...
主要介绍了vue路由切换时取消之前的所有请求操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
一种基于Camel 的车联网消息路由转发方案的设计.pdf