zoukankan      html  css  js  c++  java
  • 后台服务相关基础知识

      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

    不断学习中。。。

  • 相关阅读:
    根据输入的个数,打印每行做多输出3个的for循环
    在启动页面后面再加载一个广告页,可以定制动画等
    frame.size.height无法直接赋值问题
    iOS开发远程推送
    iOS——UIKeyboardWillShowNotification 监听键盘高度变化
    iOS 浅谈本地通知 UILocalNotification
    iOS中assign、copy 、retain等关键字的含义
    GCD
    xocde快速定位崩溃代码
    关于xcode打包app
  • 原文地址:https://www.cnblogs.com/hanerfan/p/4096294.html
Copyright © 2011-2022 走看看