1.业务授权,是指将业务调用方加入黑白名单以控制访问权限,站在技术角度讲,是一个开关,大家可以理解成水龙头的开关;
2.业务限流,是指控制业务访问流量,站在技术角度讲,是一个流量阀值或调节比例,大家可以理解成拧开水龙头后调节水流量过程;
3.业务降级,是指牺牲非核心的业务功能,保证核心功能的稳定运行。简单来说,要实现优雅的业务降级,需要将功能实现拆分到相对独立的不同代码单元,分优先级进行隔离。在后台通过开关控制,降级部分非主流程的业务功能,减轻系统依赖和性能损耗,从而提升集群的整体吞吐率。
以下是一个整体的部署结构图:
从图上可以看出:所有环节(授权、限流、降级)依赖于配置管理中心,这是一个核心的组件,站在技术角度讲,就是讲业务控制逻辑集成这个平台里。
目前淘宝开放了自己的配置管理组件diamond:
http://code.taobao.org/p/diamond
还有些个人开发者也弄了一套这样的组件:super-diamond:
https://github.com/melin/super-diamond
不知道谁更合适,大家用用就知道!