除了数据中心的有力支持,在微信后台的策略方面,微信开发团队也根据应用的需求进行了应对。可以归结为三大点:有损服务,柔性可用,大系统小做。
什么是有损服务?
微信的应用特点是业务单一、业务规则简单、瞬时访问量涨落巨大、数据一致性要求较弱。因此,互联网数据中心架构需要在分布式架构基础上,进一步放松了对数据一致性和设备可靠性的要求,追求在极大规模访问压力时的响应能力和低成本。
这个就是有损服务,其主要是针对微信红包的特殊性进行的,通过精心拆分产品流程,可以选择性的牺牲掉一部分数据的一致性和完整性,从而保证核心应用大部分功能的稳定运行。
有损服务是当前互联网企业在运营总经常会用到的特色运营策略——在资源一定的前提下,互联网条件千变万化的场景中,量力而为,满足用户的核心需求。
抢红包
微信红包的核心点在摇,拆,分享红包,整个系统的设计需要尽可能的保证一气呵成。任何一个关联系统出现异常,都可能引起整个系统的雪崩。这就需要在出现异常的情况下进行系统降级。
系统降级可以分为两个方面,一是把核心功能进行分拆和简化,通过辅助轻量化的服务实现,确保最短关键路径的可行。同时后端采用异步分拆,接收到用户请求时仅进行合法性验证,验证完成后直接告知成功,后续业务逻辑进入异步队列进行处理,减少了用户的等待时间,也极大降低了峰值雪崩的概率。微信红包还有全程压测流程,对整个业务链接进行自动提前评估,防止过载。
在有损服务思想的重重保护下,微信系统能够在客户端、接入层层减压、过滤,最终把压力进一步降低,仅把十万级压力传递到后台。
标签:服务器