后台服务相关基础知识

  1、雪崩与过载保护

  雪崩:外部请求数(较长时间地)超过系统处理能力,(加上时延敏感服务触发的大量重试请求,)使得接收请求的缓冲区被迅速填满(并一直保持满的状态,如果缓冲区很大),后续每个请求都不能在超时前处理,因此系统的服务能力表现为0。这种情况不能自动恢复。

  建议:

  1)明确系统的最大处理能力。做好自我保护,量力而为,而不是尽力而为。

  2)系统要有能力区分有效和无效的请求。一个不错的方案:在系统的每台机器上新增一个interface进程,它能够快速地从接收请求的缓冲区中取得请求,打上当前时间戳,压入一个FIFO的channel。业务处理进程从channel中获取请求及其时间戳,若时间戳小于当前时间减去超时时间(即已超时),就直接丢弃该请求或应答一个失败报文。

  3)前端系统有保护后端系统的义务,sla中承诺多大的能力,就只给到后端多大的压力。

  4)过载发生时,该拒绝的请求(超出处理能力范围的;无效的)越早拒绝越好。

  5)对于用户的重试行为,要适当的延缓;中间层server对后端发送请求时,重试机制要慎用,一定要用的话要有严格的频率限制。

  6)若雪球发生了,直接清空雪球队列(如重启进程清空socket缓冲区)可能是快速恢复的有效方法。

  7)过载保护很重要的一点,不是要成功应答所有请求,而是要保证在高压下系统的服务能力不要陡降到0,要对外展现最大有效处理能力。

 

  2、GSLB:全局负载均衡

  目标:用户就近接入、流量负载均衡等。为此,需要确定用户的IP归属地、实时监测服务器的状态及流量等。

 

  3、存储:在线、近线和离线

  1)在线存储:存储设备和所存储的数据时刻保持“在线”状态,可供用户随意读取,满足计算平台对数据访问的速度要求。存储设备一般为磁盘和磁盘阵列等。

  2)近线存储:介于在线存储和离线存储之间。将那些并不是经常用到,或者说数据的访问量并不大的数据存放在性能较低的存储设备上。

  3)离线存储:对在线存储数据的备份,以防范可能发生的数据灾难。存储设备一般为磁带等。



 

 

 

  参考链接:

  http://os.51cto.com/art/201205/336872.htm

  http://www.dostor.com/article/2012-04-01/7317005.shtml

 

 

不断学习中。。。

posted on 2014-11-14 00:19  han'er  阅读(473)  评论(0编辑  收藏  举报

导航