位置:编程技术网 > 人工智能 > 正文 >

融云首度披露高并发系统架构设计四大要点

2020年01月14日 12:00来源:未知手机版

g11手机论坛,三维虚拟技术,三星哪款手机性价比最高

首页 > 正文 融云首度披露高并发系统架构设计四大要点 陈晨 · 2020-01-13 11:30:33 ·产经

5G因高速率、大容量和低时延三个主要特征,为我们带来了无限遐想,但如果底层通信能力及设计架构不足以支撑高并发的场景,高延时仍然不可避免,那么5G技术所赋予的全新应用体验也将大打折扣,因此,掌握高并

       5G因高速率、大容量和低时延三个主要特征,为我们带来了无限遐想,但如果底层通信能力及设计架构不足以支撑高并发的场景,高延时仍然不可避免,那么5G技术所赋予的全新应用体验也将大打折扣,因此,掌握高并发的通信技术在5G时代至关重要。

在2019全球互联网通信云(WIIC)大会上,融云技术总监高晓光在“架构演进与性能优化”论坛演讲中毫无保留地分享了融云高并发通信技术的系统设计与实践,希望给广大开发者提供一些实战帮助。作为通信云行业的技术领导者,融云连续五年保持IM即时通讯市场占有率第一,是业内唯一承诺在高并发和弱网环境下,仍然可以保障消息不丢、不重、不乱序的厂商,融云的高并发通信技术和系统架构也已成为业界争相学习的技术标杆。

融云技术总监高晓光演讲

高并发系统的设计要点

WICC会上,高晓光首先分享了融云在整个通信平台上常用的系统性能优化手段。在系统运行的性能上,融云主要关注业务、系统和存储三个层面的问题。在业务层面,建议开发者关注每个业务请求接口的响应时长,动态掌握正确的响应时长,过长和过短都不合理,并对程序运行中的性能拐点,尽可能的优化,延长其到来的时间,这可极大提升高并发的业务承载能力。在系统层面,程序运行过程中关注CPU、内存和I/O这三方面的使用情况,合理配置资源;在存储层面,根据实际业务场景做数据库选型,选择合适的存储介质。

基于以上性能问题关注点,高晓光坦言融云高并发系统的设计要点主要集中在以下四个方面:

融云高并发系统的设计要点

采用异步化的请求处理。目前,融云采用基于Actor模型自研的分布式RPC框架来实现整个通信云平台,不但可以把请求的源数据,像流水线一样在每个节点处理完后直接下转,还可以将最终处理的结果通过溯源直接投递回去,从而减少数据的调用次数。相对于同步的方式,异步化可以提高资源的复用程度,中间需要被处理的节点越多,异步化的优势会越明显。

合理的缓存策略。通过数据、分布式缓存、本地缓存、客户端缓存层层递进的缓存策略,使越活跃的数据越逼近客户。目的在于让热的数据离它要处理的位置更近,以提高缓存的利用率,加快数据处理的速度。

选用适合的数据结构与算法,可以极大的提高整个程序的计算性能。例如一致性哈希算法,可用于整个服务的数据的散列,或者节点的定位;LRU缓存,一个带数据淘汰的缓存组件,把冷的数据淘汰掉,把位置腾给热的数据,提高数据利用率;BitMap,每一个比特位都可用来标识一个状态位,可用于快速的状态判断和节省存储空间;Bloom Filter可以认为是BitMap的一种应用,可以用来快速判定数据是否存在,避免缓存穿透。

高效的数据存取模型。在融云整个系统里面会常用到几种不同的存储类型,没有高下之分,高晓光说选用的原则是一定要符合业务场景。例如,存用户的在线和离线状态,融云会选用KV存储;存储消息,由于消息对于时序的要求很高,所以可以选择时序型数据库。数据怎么用起来方便,就怎么去存取它。

高并发系统架构的最佳实践解读

WICC上,高晓光谈到消息分发的典型场景有单聊、群聊、聊天室,不同场景应具体分析、分别应对,才是解决高并发问题的秘诀。会上特别针对群聊和聊天室的不同特点,融云分享了不同的最佳实践方案。

本文地址:http://www.reviewcode.cn/rengongzhinen/111405.html 转载请注明出处!

今日热点资讯