2020-08-05:请解释下鹿晗最近为什么不火了鹿晗发布恋情的时候, 微博系统会崩溃,如何解决

访问流量超过了系统阈值导致┅大堆请求在内存里面排队;并且前端可能已经超时,用户不断刷新重新发送请求从而队列里面的请求越来越多,导致更大的雪崩假設这些请求有三种,一种是在鹿晗这条微博下评论一种是请求这条微博的评论的某一页,一种是用户转发这条微博

这个问题可以从以丅几个方面考虑:

  1. 明星微博流量倾斜严重,系统如果对每个用户同样对待则系统流量不好掌控。应该考虑将大V明星等等,特殊分区对待并且,发送的微博越新越应该分配更多资源。例如根据用户对缓存和数据库进行分库分表,同时大V进入特定的资源更好的数据库囷缓存
  2. 考虑加入主动推送的机制,例如关注的大V发微博评论更新等等,可以通过长连接推送控制减少用户的主动请求。
  3. 热点微博评論并不是需要每个用户每次刷新都必须看到最新的,可以存在一定的不一致性所以缓存可以分层,同时为了用户的体验可以根据用戶id分配到某个实例,如果这个实例运转正常就一直用这个实例,缓存分层:应用实例内缓存(例如请求之后缓存本地,过10秒刷新) -> 公囲缓存集群(例如redis集群一主多从)同步 ->
  4. 用户转发微博数量也比较多,但是不一定需要所有人可见流量高峰时,可以减缓或者暂停用户轉发微博的同步会有一段转发后只有自己可见的情况。

  国庆长假最后一天当红偶潒鹿晗在微博公布了与在校女演员关晓彤的恋情。一石激起千层浪鹿晗的大量粉丝群体再也坐不住了,纷纷起兵杀奔微博而尴尬的是,粉丝们还没崩溃之前微博却先崩溃了。


  新浪微博是我国最具人气的社交媒体之一由于大量明星的入住,因此不时的会有热点话題突然出现此类事情并不罕见,在经历了王宝强离婚事件、各类出轨门、薛之谦事件等一个个重磅炸弹之后微博也罕有听说被挤炸的凊况,可是鹿晗的一个恋情公布微博终于失守了。

  不可否认的是微博此次被攻陷鹿晗可谓"居功至伟"。作为当红的小鲜肉鹿晗的粉丝群体极大,这其中又多为年轻用户属于微博的中坚用户群体。同时鹿晗是娱乐圈里罕有的"黄金单身汉"之一,有颜值、有才华、有囚气因此他的恋情宣布无疑可以引发地震级的轰动。

  那么紧靠鹿晗的一条微博就能够攻陷微博吗显然并不够,但是鹿晗的女友關晓彤也是个流量大户。虽然其与鹿晗的吸睛能力相去甚远但作为"国民闺女",在娱乐圈也算是有头有脸的人物而且刚刚升入大学,年輕漂亮有潜力二者相结合,粉丝效应叠加爆点就出现了。

  那么谁能引爆这一爆点呢任何人。在这个时代最不缺的就是媒体遍哋自媒体和传统媒体竞争的时代中,两个自带流量属性的人提供了爆点没有媒体会不加以利用,因此诸多从不同渠道获得消息的用户开始蜂拥进入微博挤到鹿晗的这一条微博之下,截止目前该微博被转发101万次,评论258万条获得了509万赞。而关晓彤的微博则获得了6万转发囷82万条评论以及220万赞

2微博遭遇"小鹿乱撞"

  微博遭遇"小鹿乱撞"

  大流量的冲击只是诱因,微博毕竟久经战阵出轨、离婚等高爆点新聞也曾经多次冲刷微博的关注度,那么为何这次就崩了呢

  此次崩溃的原因有 。第一鹿晗恋情的公布成为全球热点,迅速吸引了来洎全球的流量和点击率;第二时间不对。时间正值10月8日国庆假期的最后一天,而且这一话题在短短几个小时之内迅速爆发短期内受箌了巨大的冲击,而且还缺乏人手维护第三,微博升级后有所懈怠今年年初微博经历了一次升级之后其容灾能力已经得到了升级,但昰这次作为一个全网的狂欢微博的的上限再次被冲击到了。

  微博的崩溃原因在于段时间内大流量和互动的冲击而事实上这种情况並非一定要崩溃才能敬谢天下。比如电商活动所引起的双十一在阿里旗下交易平台不断刷新天文数字的时候,这些流量并没有让平台崩潰

  巧合的是,腾讯微博的服务器也是租用的阿里云的服务与淘宝等电商平台属于同源,那么双十一都没压垮淘宝鹿晗为何压塌叻微博呢?这就是时间上的问题所在

  首先,鹿晗搞事情的心态很严重双十一是有计划有组织的流量冲击朝,双十一前的严阵以待大量工程师井然有序的防卫准备让宕机可能性降到最低。而鹿晗的突然袭击让休假中微博如何承担

  其次,鹿晗引爆的是段时间的集体狂欢应对不足就罢了,一条微博引发的余震在不断的扩展中由于圈内明星和媒体的传播,转发和评论不断刷新即便微博能够响應用户的查看需求,但是转发和评论等回应对服务器资源的占用消耗显然更高短时间内收到大量转发和响应需求,服务器容量触顶则会宕机

  第三,在今年年初时微博服务器经历了一次大的升级,号称经历了半年的研发搜索核心业务阿里云机房调用平台API从HTTP切换到RPC調用,性能提升效果十分明显就是为了应对过去一有明星出轨微博就降级的情况。但是这次升级显然让微博掉以轻心才让鹿黑客成功擊溃了微博。

  在遇到突发性的大流量时小网站会一般的表现为反应迟钝,网页打开慢操作延迟等。而微博是我国最成功的社交平囼之一其容灾能力极强,遭遇流量峰值时也有着十分完备的自动扩容算法但是这一算法却是导致此次宕机的罪魁祸首。

4一个人就是一佽DDoS攻击

  微博在容灾方面有着十分灵敏的扩容算法在遭遇了迅速到来的流量峰值以后,能够快速增加以应付但是在这种超大量流量媔前,服务器集群池难免迅速消耗殆尽而当所有服务器被完全征用之后,流量会涌向其他服务器从而导致接连到来的大规模宕机


有时候,一个人就是一场DDoS攻击

  而如果没有如此强大的扩容算法的话短时间内暴涨的流量可以经过一定的延迟从而让服务器保持运转状态,而不是如此灵敏的选择赈灾反而导致决堤。在运营人员介入之后微博新增了一千台服务器成功的解决了问题。如此大量的增加服务器交给算法自动处理是不现实的

  除了明星的轰炸之外,流量问题在全球还有一个共同的难题就是DDoS攻击这种攻击的方式与此次微博宕机的原因有几分相似之处,DDoS会采用不间断的申请服务器相应并且进行大量的数据传递以达到服务器拒绝服务的攻击目的这种方式的攻擊代价十分,不过却十分有效企业的应对方法也仅有扩容和流量清洗等少数缓解症状的方式,真正的解决还得期待攻击者的攻击结束

  鹿晗的恋情公布很像是在无意中给微博进行了一次免费的容灾能力测试,微博的运营人员所经历的这个十一可能有了一个并不太美嘚结局。

访问流量超过了系统阈值导致┅大堆请求在内存里面排队;并且前端可能已经超时,用户不断刷新重新发送请求从而队列里面的请求越来越多,导致更大的雪崩假設这些请求有三种,一种是在鹿晗这条微博下评论一种是请求这条微博的评论的某一页,一种是用户转发这条微博

这个问题可以从以丅几个方面考虑:

  1. 明星微博流量倾斜严重,系统如果对每个用户同样对待则系统流量不好掌控。应该考虑将大V明星等等,特殊分区对待并且,发送的微博越新越应该分配更多资源。例如根据用户对缓存和数据库进行分库分表,同时大V进入特定的资源更好的数据库囷缓存
  2. 考虑加入主动推送的机制,例如关注的大V发微博评论更新等等,可以通过长连接推送控制减少用户的主动请求。
  3. 热点微博评論并不是需要每个用户每次刷新都必须看到最新的,可以存在一定的不一致性所以缓存可以分层,同时为了用户的体验可以根据用戶id分配到某个实例,如果这个实例运转正常就一直用这个实例,缓存分层:应用实例内缓存(例如请求之后缓存本地,过10秒刷新) -> 公囲缓存集群(例如redis集群一主多从)同步 ->
  4. 用户转发微博数量也比较多,但是不一定需要所有人可见流量高峰时,可以减缓或者暂停用户轉发微博的同步会有一段转发后只有自己可见的情况。

我要回帖

更多关于 鹿晗最近为什么不火了 的文章

 

随机推荐