服务的升级和降级
2016-06-10 09:55
357 查看
1.开关
先讲一下开关的由来,例如京东在6月18日做店庆促销活动,在交易下单环节,可能需要调用A、B、C三个接口来完成,但是其实A和B是必须的,C只是附加的功能(例如在下单的时候做一下推荐),可有可无,在平时系统没有压力,容量充足的情况下,调用下没问题,但是在类似店庆之类的大促环节,系统已经满负荷了,这时候其实完全可以不去调用C接口,怎么实现这个呢?改代码?no,no,no,这样太不敏捷,此时开关诞生了,开发人员只要简单执行一下命令或者点一下页面,就可以关掉对于C接口的调用,在大促过去之后,再把开关恢复回去即可。
2.什么是服务降级
服务降级,当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。
3.服务降级方式:
服务接口拒绝服务:无用户特定信息,页面能访问,但是添加删除提示服务器繁忙。页面内容也可在Varnish或CDN内获取。
页面拒绝服务:页面提示由于服务繁忙此服务暂停。跳转到varnish或nginx的一个静态页面。
延迟持久化:页面访问照常,但是涉及记录变更,会提示稍晚能看到结果,将数据记录到异步队列或log,服务恢复后执行。
随机拒绝服务:服务接口随机拒绝服务,让用户重试,目前较少有人采用。因为用户体验不佳。
4.
5.
6.服务降级埋点的地方:
消息中间件:所有API调用可以使用消息中间件进行控制
前端页面:指定网址不可访问(NGINX+LUA)
底层数据驱动:拒绝所有增删改动作,只允许查询
转自:http://blog.csdn.net/zuoanyinxiang/article/details/51027576
先讲一下开关的由来,例如京东在6月18日做店庆促销活动,在交易下单环节,可能需要调用A、B、C三个接口来完成,但是其实A和B是必须的,C只是附加的功能(例如在下单的时候做一下推荐),可有可无,在平时系统没有压力,容量充足的情况下,调用下没问题,但是在类似店庆之类的大促环节,系统已经满负荷了,这时候其实完全可以不去调用C接口,怎么实现这个呢?改代码?no,no,no,这样太不敏捷,此时开关诞生了,开发人员只要简单执行一下命令或者点一下页面,就可以关掉对于C接口的调用,在大促过去之后,再把开关恢复回去即可。
2.什么是服务降级
服务降级,当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。
3.服务降级方式:
服务接口拒绝服务:无用户特定信息,页面能访问,但是添加删除提示服务器繁忙。页面内容也可在Varnish或CDN内获取。
页面拒绝服务:页面提示由于服务繁忙此服务暂停。跳转到varnish或nginx的一个静态页面。
延迟持久化:页面访问照常,但是涉及记录变更,会提示稍晚能看到结果,将数据记录到异步队列或log,服务恢复后执行。
随机拒绝服务:服务接口随机拒绝服务,让用户重试,目前较少有人采用。因为用户体验不佳。
4.
5.
6.服务降级埋点的地方:
消息中间件:所有API调用可以使用消息中间件进行控制
前端页面:指定网址不可访问(NGINX+LUA)
底层数据驱动:拒绝所有增删改动作,只允许查询
转自:http://blog.csdn.net/zuoanyinxiang/article/details/51027576
相关文章推荐
- 21.4 windows_21_Library_use_DLL 动态库补充4
- Android学习中出现的错误以及解决
- ffmpeg学习(3)—— ffmpeg,ffplay,ffprobe
- ubuntu查看系统资源占用(内存,cpu和进程)
- JS中一些常用函数学习总结
- Font Awesome 字体支持 ie
- 执行器实现返回多个任务并处理第一个结果
- Android中Button,EditText获取焦点后点击事件的触发
- 将输入流读取成String后返回
- java基础之网络编程
- Android中Serializable和Parcelable接口用法
- Pixel Shuffle [Poj 2789,CERC 2005/SWERC 2005,LA 3510]
- 哈夫曼树
- 21.3 windows_21_Library_DLL_test&&CPP&&DEF 动态库补充3
- 21.2 windows_21_Library_Class_DLL_USE 动态库补充2
- Java界面开发——登录并对用户身份进行验证
- linux 快速删除大量/大文件
- 解决Android学习之ScollView嵌套ListView和GridView问题
- Same Tree
- Authentication