说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

《近匠》融云,自主研发真正“不丢消息”的IM云服务

HTML文档下载 WORD文档下载 PDF文档下载
《近匠》第90期,融云即时通讯云源自飞信团队,拥有8年IM技术积累,却推倒重来,从第零行开始写代码,自己做一套全新的通讯协议和服务端架构,不丢消息、快速迭代反馈,并将逐步落实SDK开源计划。

移动互联网时代的即时通讯技术已与互联网时代完全不同,弱网络、丢消息等问题天然存在。融云即时通讯云源自飞信团队,核心创始成员拥有8年IM技术积累,却推倒重来,从第零行开始写代码,自己做一套全新的通讯协议和服务端架构,并将逐步落实SDK开源计划。本期《近匠》专访融云即时通讯云 CTO 杨攀,听他讲述矢志做即时通讯行业老大,把即时通讯做穿做透的融云是如何做到不丢消息、快速迭代,专注为用户提供IM云服务的。


图:融云即时通讯云 CTO 杨攀

CSDN:请介绍一下您以及团队主要成员的从业经历?

杨攀:融云创始团队的所有核心成员几乎都来自于神州泰岳飞信团队,原本都是负责飞信业务的高级管理人员、核心产品和技术人员。CEO韩迎原本是飞信的VP,负责市场销售和运营,另一个联合创始人是我们的首席架构师李淼,原本在飞信负责即时通讯、社交产品,COO毛炜之前则是从事企业级应用软件服务业务。

我个人很早就开始写程序了,从94年开始到现在已有二十多年,一直都在和IM、社交打交道。曾参与微软MSN Messenger Mobile China业务的开发和管理工作,负责过时光网架构升级和改造工作。2008年加入神州泰岳飞信团队后,先后负责了飞信社交平台、飞信开放平台、飞信即时通讯平台业务的管理工作和研发管理工作。

CSDN:请具体讲讲融云是什么?

杨攀:融云很简单,我们做的是即时通讯云服务,这是一个2014年新生的行业。之前大家看到的即时通讯服务都是一些to C的产品,比如QQ、微信、飞信、旺旺、YY、陌陌等,而即时通讯核心技术也都掌握在这些大厂商手里,从事IM的小厂商寥寥无几,即使涉足也可能都是企业级,其支撑的并发用户量远远无法和to C的产品相比。

其次,移动互联网时代的即时通讯技术和互联网时代已完全不同,移动互联网时代的通讯面临着网络不稳定的问题,我们曾做过数据统计,一款手机一天内断网可能会高达三百多次,其难度相对而言也更高,IM技术需要大幅革新。而从2012年时基本没有人会去接入第三方SDK到2014年为大众所接受,开发者服务的理念也日趋成熟。

因此对我们而言,就是把自己的核心业务做好,普惠开发者,让开发者能够通过SDK+云服务的形式能够很简单地在自己的业务中集成即时通讯能力,将原本一个非常难、非常高大上的“阳春白雪”的技术一下子就变成零门槛。我们的方式是提供一个SDK,开发者只需将其嵌入到App中,融云会在云端提供服务器来负责消息传输等,便能实现端对端的聊天。除一对一的单聊之外,我们还提供群聊、音视频通话、公众服务等功能。

CSDN:融云的公众服务与微信公众账号有什么关联或不同吗?

杨攀:融云的公众服务是帮所有使用融云SDK的应用搭建一套公众账号平台,就相当于每个App都有自己的一个公众账号平台,可以自己给自己的App开发公众账号,也可以找别人开发并接入到自己的平台上给自己的App使用,让每一个App都可以变成一个“微信”。

微信本身的理念是中心化,成为一个操作系统,所有的业务都可以直接做一个公众号嵌入到微信里,开发者也无需再劳心劳力地开发App。而我们做的事儿则是“去中心化”,我们帮助微信之外的其他App厂商具备这种能力。

CSDN:融云为开发者提供了哪些核心服务?

杨攀:我们对于公司的定位非常单纯,就是一家纯技术的公司,核心产品就是做即时通讯。也有很多客户会问我们:你们做不做社交、朋友圈、论坛、地理位置定位、短信验证码等?我们觉得这些并非自身长处所在,我们要做的就是把核心领域做透做穿,也是可以成功的。所以我们做的通讯就是单聊、群聊、聊天室、音视频通话、客服平台、公众服务等,全都属于即时通讯的范畴。

CSDN:与其他IM云服务提供商相比,融云在即时通讯技术、功能、成本等方面各有着什么样的优势与不同?

杨攀:融云的研发团队是业内唯一一家做IM出身的团队,这是其他厂商不具备的最大优势,即时通讯技术是一套非常复杂的体系,不是说一两个人挑大梁就能做好的,必须要靠一个团队去把它搞定。技术上的不同就在于,不少竞争对手采用的都是一些开源的解决方案,因为没有经验,直接在开源的基础上进行修改并提供服务。但开源的解决方案都存在一些问题,首当其冲的便是这些方案都是为PC互联网设计的,而非移动互联网,在移动互联网领域,弱网络、丢消息等问题天然存在。


图:融云即时通讯云架构图

其次,这些开源的解决方案都是企业级的解决方案,这也就意味着一旦用户过多,无论怎么改,系统都撑不下去。所以我们推倒重来,参考微信公开的设计理念,从第零行开始写代码,自己做一套全新的通讯协议和服务端架构。

CSDN:从开发者角度,选择一项IM云服务都包含哪些关键因素?

杨攀:现实地说,开发者往往很容易被市场宣传所左右,绝大多数开发者都不会非常细致地去研究到底谁家的技术方案好,更多的时候是凭广告、宣传营销这些感性的认识。但对于比较理智的开发者,通常会考虑服务的稳定性、消息的可靠性等因素,比如消息丢不丢、重不重复、乱不乱序等,服务宕不宕机?使用开源解决方案的服务商总是会碰到频繁宕机的问题,并且很难完全掌握整个解决方案,而融云自主开发服务架构,即使偶尔出现小故障也都是局部的,能快速解决,而且我们也不会存在一宕机整个系统就挂了的问题。

另外,支持和服务也很重要。客户有问题,反馈能够多长时间得到响应并解决?这是开发者非常看重的。其实现在整个互联网行业都比较快,大家一边出产品,一边迭代,没有说花一两年的时间写一个项目,然后突然拿出来,那个时候可能机会已经过去了。现在我们做到的就是快速迭代,每周一晚都会发布一个新版本,保证用户这周提出一个问题或需求,下周二便可以拿到。如果用户觉得版本更新太快,可以不更,这完全由用户自己来控制,融云不会促使用户必须升级。

为了更好地解决客户问题,我们将SDK分为不同版本,有既改Bug又加功能的开发版,不加功能只改Bug的稳定版,以及非常稳定的发布版,既满足快速迭代的需求,又能够让用户得到稳定的版本。

CSDN:在开发、更新、运营、维护过程中,是否遇到过一些比较头疼的问题?如何解决的?

杨攀:现在最大的问题就是客户每天反馈的大量信息,包括需要去跟踪客户提出的新需求、跟踪用户反馈的Bug等。这也就直接造成如何让客户的问题得到最好的追踪和解决,这成为我们很重要的问题。每天每个人脑子里过的信息量是一般的研发团队无法想象的,各种信息接踵而至,我们经常做一些并发性的工作,但既然我们选择了给开发者提供支持就一定会努力完成。从另一个侧面来看,这可能就是所谓幸福的烦恼。

CSDN:那顶着这么大的压力是否有行之有效的解决方案?

杨攀:我们几乎每天都会对流程、工具、支持方式进行一些细微的改进,并不断尝试新的方法,不断地去优化,思考怎么去更好地提供支持。比如最近我们发现,用户在提出问题时,很多问题描述并不清楚,然后我们会问他,这样一来二去就浪费了大量的时间。然后我们就会想些办法,在节省沟通成本的同时,也能让开发工程师在短短的十几分钟内就能修改完善,在提高效率的同时也能很好地提升质量。

CSDN:产品从最初的开发到现在有着怎样的开发思路?

杨攀:先讲移动端SDK,我们将SDK分为两层,底层的通讯库用于满足自己定制通讯UI交互界面的高级客户需求。另外我们也考虑到其实更多的开发者并不愿意在聊天界面上投入太多的精力,我们就做了一个UI组件,开发者几乎不用写代码,可以使用该组件直接调整设置。其实这对于我们而言也是非常有挑战的,既要满足功能,又要设计结构去实现调整和扩展,代码量几乎都耗在这些地方。

CSDN:如何计费?采用什么样的盈利模式?

杨攀:PaaS厂商通行的标准计费模型是按量付费,请求多少次API就付多少钱,然后阶梯定价,但我们在刚起步时便思考了商业模式究竟应该是什么。如果按照PaaS平台的通行模式来走的话,友商之间就会打起价格战,这个非常没意思。并且,我们对自己的定位就是一定要做这个行业的老大,拥有自主开发的核心技术,再加上这么多年来在IM领域的长期摸索和实践,我们自信在成本上可以比其他友商有几倍的竞争优势,用户可以直接免费使用我们的SDK和基础服务。

此外,融云还提供付费增值服务,以满足用户的个性化运营需求,因为这其中包含的许多功能特别费磁盘存储、服务器的计算资源、带宽流量,我们需要为此付出巨大的成本。未来,我们不仅仅只是简单地提供能力,更希望能够帮助使用融云的开发者,靠我们的平台实力来帮助他们解决实际面临的问题。

CSDN:对于大规模的故障,融云是否有应急预案?

杨攀:云服务厂商出问题很是常见,即使如微软亚马逊等也不能例外,但值得细细思量的是能有多快的时间去响应和修复,与开发者沟通是否到位?目前,融云正在着手建设双活的双数据中心,已进入部署阶段。这也就意味着即使任一数据中心发生意外,另外一个还可以正常使用,两个数据中心同时出现问题的概率非常小。同时,双数据中心也需要付出双倍的成本,但能为客户提供更高质量的服务还是物有所值,我们对于稳定性的追求是非常苛刻的。

CSDN:融云在GitHub、GitCafe上托管了许多Demo源码,请问在开源方面是否还有其他考量?

杨攀:在高速发展阶段,我们对公司的定位是商业公司,许多内部的东西在自身觉得不够好并本着对用户负责的前提下,还是一个相对保守的态度。截止发稿前,我们已经将JavaScript SDK开源,在核心部分已非常稳定的情况下,动用社区的力量来帮助我们继续完善问题,大家一起来找Bug并进行维护,除此之外,我们针对其他第三方平台(如Cordova、React等)提供的SDK插件也会全部开源。


【 《近匠》GYENNO CEO任康:用“勺子”敲开一片新市场】《近匠》第89期:从去年的手环,今年的智能手表、智能水杯,再到针对有手部震颤症状人群开发的智能勺“睿餐”,GYENNO开始从健康领域向医疗领域贴近。虽然睿餐算不上医疗设备,但却开始在这片新市场进行深耕。

【 《近匠》小鱼天气,中国风与细粒度空气质量检测】《近匠》第88期,小鱼天气诞生于微软车库中,与一般天气类应用不同,小鱼天气主打细粒度空气质量监测,其完全中国风的设计颇合国内用户的胃口,微软大数据方面的积累也给予了他们很多的技术支撑。

【 《近匠》谛听科技,探索智慧家庭的智能网关】《近匠》第87期,谛听科技以X+N为业务模块,将云操作系统与智能路由器相结合,为智能家居产品提供数据交互和命令控制。未来,路由器不仅是家庭的数据中心,更可在一个平台上远程控制所有的家电、门窗甚至插座。

回顾更多内容及线下开发者活动信息,请关注mobilehub公众微信号(ID: mobilehub)


寻求《近匠》免费报道,请私信:@CSDN移动,或发送邮件至tangxy#csdn.net(请把#改为@)。

全球移动开发者:IAP降温,企业应用成待掘金矿 Vuforia 2014 视觉大奖赛:寻找最炫酷AR增强现实应用,迈向巅峰! MapReduce谢幕,谁将成为最终的接棒者? 变身音乐控制器!开源JavaScript库NexusUI 从112台服务器到Q2 50亿基础设施开销,谷歌只用了15年 【技术文章】微信公众平台开发教程新手解惑40则 Qualcomm承诺投入1.5亿美元 扶持中国初创企业 物联网多了把“新板凳” 联想推三款智能硬件 .NET技术+25台服务器怎样支撑世界第54大网站 基调网络发布听云平台:“听”懂App性能 《近匠》豌豆荚李大海:用搜索敲开手机娱乐平台之门 微信开发HTML5轻游戏中的几个坑 【微信大会】企业号、支付功能、智能客服与LBS、电商开发解析 【CTO俱乐部走进海尔】活动图文直播进行中 燃料电池商业化,数据中心或将永不断电? 广告教父的哲学:值得F2P游戏借鉴的8条经验 UC李云:基于Chromium的浏览器如何打造更好体验 一周消息树:颠覆互联网思维?年薪50万码农转行卖凉皮 Coconut2D:跨平台2D游戏及应用开发工具 第八届中国大数据技术大会将于12月中旬隆重召开 10个常见的缓存使用误区 用户暴增下的收入降低,AWS面临尴尬 云数据中心选址PK:微软第一,IBM第二,谷歌最少 不应错过2014微信开发者大会的八个理由 为什么软件测试需要变革? 苹果和IBM成最佳搭档 微软谷歌或受威胁 OpenStack社区又添新成员 浪潮推动开放云生态系统构建 重度使用AWS及Hadoop,Pinterest的自服务平台打造历程 《近匠》腾讯信鸽:基于大数据的推送 超低功耗'Whisper'架构发布:IoT、可穿戴连接性IP新标准! R的数据分析制霸以及企业级应用盘点 JSplitPane如何动态调整左右帧的大小?如何监听窗口变大,缩小的事件?(java中好像没有) NCR-unix下如何修改网卡上绑定的ip地址? 请教一个简单问题,怎么实现象foxmail那样的,在状态栏中留一个图标,单击再恢复? Mmxado错误 oracle问题!!!分数不多,但望高手不吝赐教 RECORDSET对象的UPDATE方法时出现以下错误提示 致斑竹流方,怎样以树形结构列出并打印PBL中所有对象,包括对象中的控件和事件,并标识哪些有脚本? 怎样学习编写VB代码?以及它与ADO数据库之间的连接? 原来holyfire是这的班主! 我最敬佩的人是:playyuer(女㊣爱)! 问一个关于TTreeView控件中树节点所带数据的问题 菜鸟求救:有关DBGrid显示的问题。 当读取1万条记录以上,应怎么做才有高效率? 那想在记事本中实现“查找,”“替换”。。。。要怎么做,我头猛大 有没有按位图画不规则窗口的代码? 怎样得到LISTCTRL的全部列(COLUMN)的信息,难道要用GETCOLUMN()? 为什么现在学win32 API的人这么少? 还是老问题 redhat安装问题,请高手指点 网页中有一文本框,如何约束用户输入格式 现在fanso怎么回事? 安徒生童话之六---老爹做的事总是对的 (呵呵,好故事,很美丽) 如何调用EXE或DLL程序,使被调用程序是调用程序的MDI中的一个子窗口? 《网络设计师教程》P103表5.2中 4B/5B码和4位2进制之间是怎么转换的? COM进程类组件中,在一个接口中加了一个方法,成员变量类型CString,可是不行,那该用什么? 请问那里有 motif toolkit 开发工具下载 一个mysql的问题! 出售软件源代码以及销售权! byte类型的数据如何转化成二进制数,显示给用户(如8-》0000 1000) 代征:精通vc的深圳朋友,精通网络通讯的开发和多媒体处理。 20分求助!这条警告是什么原因呀?怎么解决 ?LINK : warning LNK4089: all references to "SHELL32.dll" discarded by /OPT:REF 局域网的文件共享传输是基于什么协议的? windows and dos ??? 请问大家几个技术问题!!谁能回答阿!比较着急!:) 有没有代替VB里的PICTUREBOX 的控件,VB里的不好用?????????? 我是新手,请问JSP有些什么开发软件?比如JAVA用JBUILDER。。。 请问知道整型值a=97,什么函数可以得到"a"呢?即97->"a"通过什么函数呢? 如何将十进制数转换成二进制数 函数对象的简单问题 喜欢仙剑的朋友请进。:) 恭喜恭喜? 我想制作C++ Builder4工程的安装程序,不知道用什么软件,请大家帮忙。谢谢! 请问大家几个技术问题!!谁能回答阿! 我是ASP初学者,请求一个简单的问题,Help!!! 有没有关于installshield6的书, 快看呀!我真的要不行了! 请教大家一个术语吧! 低手问题,关于Form中的数据问题,谢了。 如何用PictureBox控件显示GIF图?特急!!!!!! 单文档多视(急!) 想学delphi中关于database方面的内容,不晓得哪本书好,大家推荐好吧? 作文:XXX,谢谢你作文600字左右不要太抒情了 以《我长大了》写一篇作文要求开头、结尾超级好,用上好词比喻、排比句(主要是开头结尾)要高中水品的 用一两句英文概括小短文的中心思想!In 1982,the average wedding cost in cities was 3,600 yuan,but last year,it raised to 6,000.in such cities as Shanghai and Wuhan the average wedding cost will exceed 10,000 yuan soon.A lot of people Spe 我快乐因为我XXX的作文 600字的 作文 【我长大了】 600字 英语翻译亲爱的老师:您好!非常感谢您对我们的辛勤教导!是您给予了我知识,您就像是辛勤的园丁,浇灌着我们这些祖国的娇嫩的花朵.如果没有您的教导,我不知道我能不能在英语考试中取得 作文《xxx的我》(600字以上) 我长大了 作文500字 咋写? 英语翻译三年时光,说长不长.即将在这半年里分道扬镳的我们,因为友谊而显得不愿离去.记得那时初一的我们,会对初三的毕业生即将自由而羡慕;而现在终于成为毕业生的我们,才明白那时我 求那一次,我XXX的作文,500~600字. 那时,我长大了 作文600字,明天要交,要贴近生活, 英语翻译我在百度搜不出来啊,因为英文都是有空格的,一搜就是只搜出来有个别单词的文本。我想有没有更好的方法啊? 作文 我的生活充满xxx 600字初中水平的作文 ,我的生活充满xxx ,6oo字,后天要用 未来的房子作文 英语翻译下面几段文字,请尽可能的使用手动翻译!翻译的好,可以追加分数航空界最有威望的Teal公司预测,今后10年,全球对公务机的需求量将达9000架,总价值约944亿美元,而中国是最具潜力的市 我喜欢Xxx作文 未来的房子 作文400字 初二英语80词左右作文 xxx真忙作文比如妈妈真忙 快 明天要用 好的加分 未来的房子 想象作文500字 初二英语短文 80词左右请根据说给表格内容写一篇80词左右的英语短文,介绍一下你今年春天旅游的情况旅游时间:4月20日至4月底旅游地点,交通工具,逗留时间:南京 乘火车 2天上海 乘汽车 3 “我真xxx”作文怎么写?急 怎样写未来的房子的作文? 初二英语作文:礼物 80词what is the best gift youhowe everveceived?how gowe it to you?when did she or he gave it to you?what do you think of it?急用 我心中的桃花源作文600字 我真的很xxx作文 未来的房子作文300字未来的房子作文300字急 明天交 以我心中的桃花源为题 400字作文字不要太多 关于 XXX 我想对你说 作文 英语翻译Last Wednesday,Sandy and I bought a new kite and big ball of string.It was very windy so we flew our kite in the park.The wind blew hard and our kite flew very high and very well.Then the string broke.We both tried to get the string.We ra 作文《我心中的桃花源》怎么写? 《xxx我想对你说》作文 如何概括英语文章的只要内容 我心中的桃花源作文写的思路是什么? xxx我想对你说的作文 《就英法联军远征中国给巴特勒上尉的信》的主要内容梗概~快快帮我,一个小时内~ 我心中的桃花源 作文600字左右 中学生水平 第二次_____、十五岁,我多了一分______均不少于500字.我不管是不是网上的. 《就英法联军远征中国给巴特勒上尉的信》中心思想 xxx我想对你说作文注意题材要新颖,不要那种妈妈啊,老师啊,之类的我想对你说,太俗不可耐了.注意一定要新颖啊! 假如我会变 明天就要交了,300字以上,写好点,只写1样,这样的300字 《就英法联军远征中国给巴特勒上尉的信》主要内容 XXX 我想对你说的作文 谁有初一的2篇15句的英语短文 要求关于春节的 就英法联军远征中国给巴特勒上尉的信 背景求雨果写这封信时有关雨果和圆明园的历史背景越详细越好 以再见xxx为题,写一篇700字的作文, 谁有展望未来2(第8课到第15课的课文文章)答的好我有高分的.有多少要多少 就英法联军远征中国给巴特勒上尉的信 的主要内容 作文,再见了xxx(缺点)半命题作文,急撒,一定要是缺点,比如说骄傲、好玩等等,最好写好玩,我挺好玩的 求英语小短文.速度.以next weekend 为题,写一篇小作文,十句话就好.关键字为周六goshopping、do my homework 、do housework,周日read a magazine and any books。 英语翻译When 12-year-old Helen received & lot of money on her birthday* she knew exactly* what she wanted to buy:a pair of LuluLemon trousers that her mom wouldn't buy because they were too expensive."We went to the store together,51 Helenas mom, 我要一篇名叫《XXX,请别这样做》的作文. 求英语语文作文...八篇60字的初中英语日记..2篇语文读后感 2篇作文600字.. 英语翻译 Alan Chang was a handsome young man with good manners.  One morning he was walking along a street on his way to an appointment.He did not want to be early or late.He had forgotten to put on his watch so he went up to a man who was 写一篇XXX我想对你说的作文范文就行,只是参考下 阅读短文.英语.If you have no special plans for your holidays,why not spend your time helping others?Some people say that the young people today only think of themselves.But it’s not true.More and more young people in the U.S.A.volunteer(自 这篇英语文章主要讲什么?用一两句话概括.Just the mention of the TOEFL,GRE and GAMT exams brings a thought of long hours of dull paper work.But that idea is becoming increasingly out of date.As planned,computerized tests will begin nex 写一篇作文《我的同学XXX》急~描写这位同学很胖,然后发生的一系列事.请不要发类似这样的回答.“自己写····”如果发这样的回答的人.请离开.我不是投机取巧。我是收集几篇好的作文。 如何才能速度背英语短文? 用一两句英文概括小短文的中心思想!First,both are small rural communities.My hometown has a population of only about 10,000 People.Similarly,my college town consists of obout 11,000 people.A second way in which these Two towns are sinil
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn