腾讯云移动开发解决方案与,一组负责实时通信服务数据统计的缓存机器发生故障

摘要作为Google开源的技术,WebRTC实时音视频技术并不是一个可以拿来就用、并且性能很好的产品。本文主要来谈一谈WebRTC的优缺点。  2011年Google将WebRTC项目开源,让许多开发者眼前一亮,忍不住的加入了研究WebRTC的队伍中。作为Google开源的技术,WebRTC并不是一个可以拿来就用,并且性能很好的产品。本文主要来谈一谈WebRTC的优缺点。  一、发展及现状  WebRTC在被Google开源之前,其价值就已经得到了充分的认可。比如QQ就使用了WebRTC的部分技术。WebRTC的发展情况可以从标准规范和浏览器支持这两个方面看。WebRTC标准是由W3C和IETF所联合制定的,在2016年1月28日,W3C公布了最新的WebRTC标准,标准中定义了WebIDL中一系列的ECMA
Script
API来允许使用合适的RTP的浏览器或设备来接收/发送媒体,详细内容可以访问  二、优点  1.方便。对于用户来说,在WebRTC出现之前想要进行实时通信就需要安装插件和客户端,这是一个复杂的过程。现在,WebRTC技术内置于浏览器中,用户不需要使用任何插件或者软件就能通过浏览器来实现实时通信。对于开发者来说,在Google将WebRTC开源之前,浏览器之间实现通信的技术是掌握在大企业手中,这项技术的开发是一个很困难的任务,现在开发者使用简单的HTML标签和JavaScriptAPI就能够实现Web音/视频通信的功能。  2.免费。虽然WebRTC技术已经较为成熟,其集成了最佳的音/视频引擎,十分先进的codec,但是Google对于这些技术不收取任何费用。  3.强大的打洞能力。WebRTC技术包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透技术,并支持代理。  三、缺点  1.编译WebRTC的源码就是一个比较大的挑战,搭建其复杂的编译环境往往会遇到很多意想不到的问题,导致当初计划用几个星期的时间来搞定项目,却发现这几个星期连编译都没搞定。  2.WebRTC中很多的参数都是由GIPS公司的工程师们依靠经验所设定的值,这就会出现卡顿、延时、回声、丢包、多人视频不稳定等问题。  3.WebRTC缺乏服务器方案的设计和部署。  4.传输质量难以保证。WebRTC的传输设计基于P2P,难以保障传输质量,优化手段也有限,只能做一些端到端的优化,难以应对复杂的互联网环境。比如对跨地区、跨运营商、低带宽、高丢包等场景下的传输质量基本是靠天吃饭,而这恰恰是国内互联网应用的典型场景。  5.WebRTC比较适合一对一的单聊,虽然功能上可以扩展实现群聊,但是没有针对群聊,特别是超大群聊进行任何优化。  6.设备端适配,如回声、录音失败等问题层出不穷。这一点在安卓设备上尤为突出。由于安卓设备厂商众多,每个厂商都会在标准的安卓框架上进行定制化,导致很多可用性问题(访问麦克风失败)和质量问题(如回声、啸叫)。  7.对Native开发支持不够。WebRTC顾名思义,主要面向Web应用,虽然也可以用于Native开发,但是由于涉及到的领域知识(音视频采集、处理、编解码、实时传输等)较多,整个框架设计比较复杂,API粒度也比较细,导致连工程项目的编译都不是一件容易的事。  总而言之,WebRTC虽然提供了一套音视频实时通讯的解决方案,但是在实际应用中,由于网络传输、设备适配以及多方通话上都存在很多问题,效果并不理想。(WebRTC开源工程官方网站:

摘要即时通讯云服务商LeanCloud
2016年6月30日因一组负责实时通信服务数据统计的缓存机器发生故障,而导致雪崩致使即时通讯服务瘫痪43分钟之久!以下消息来自LeanCloud官方:6
月 30 日晚上 8
点左右,我们的实时通信服务发生了故障,导致大量应用的终端用户无法登录和发送消息,时间持续约
40 分钟,详细情况汇总如下。故障时间2016-06-30日 19:58 - 20:41(共计 43
分钟)影响范围LeanCloud
国内节点的实时通信服务受到影响(无法登录和发送消息),其它服务正常;美国节点一切服务正常。事故经过19:58
一组负责实时通信服务数据统计的缓存机器发生故障,导致用户登录或发送消息出现阻塞,类似操作开始消耗内部线程池资源;20:05
线程池资源耗尽,所有用户登录过程都会失败;20:22
确定了故障原因,开始重启缓存服务程序,但是服务程序所在机器因为压力过大失去响应,转而重启物理机器;20:33
缓存服务恢复正常,登录和发消息等请求开始恢复正常(为了加速我们新增了部分实时通信服务程序,以增加响应能力);20:41
实时通信服务恢复正常。下图中的黄线是故障时段前后的登录请求数量变化趋势曲线,与上述故障时间线吻合:后续改进措施聊天服务监控程序改由
Marathon
来自动部署并执行。该监控程序因前期的一次操作而被暂停,结果未能捕捉到此次服务异常,所以我们加入程序化的手段来保证其始终运行。(已完成)增加对统计数据缓存服务的监控。(已完成)增加对于登录请求数异常变化的监控。(已完成)进一步优化实时通信服务的架构,针对所有环节做好容错,防止类似的阻塞操作再次出现。(一周内解决)即时通讯云
LeanCloud 官方网站:

摘要即时通讯云服务商LeanCloud 和
腾讯云团队经过数月的共同努力与紧密合作,为腾讯云用户打造的
腾讯云移动开发解决方案
正式发布了。以下消息来自LeeanCloud官方:我们很高兴地宣布 LeanCloud
和腾讯云团队经过数月的共同努力与紧密合作,为腾讯云用户打造的腾讯云移动开发解决方案正式发布了。该解决方案能够显著地降低开发难度和成本,加快移动应用、智能硬件、智能家居、SaaS
服务等各类产品的开发进程,大大缩短产品的上市时间(time-to-market)。腾讯云移动开发解决方案提供了数据存储、云引擎、实时通信、推送通知、数据统计等诸多服务,每项服务均在腾讯云的基础设施之上由
LeanCloud
的技术提供。使用更接近业务和应用层面的云服务来开发产品是大势所趋。随着
Apple 和 Google 分别在各自的生态圈大力推动 CloudKit 和 Firebase
的发展,AWS 也推出了 Lambda 和 API Gateway
等更高层的服务以顺应无服务器架构(Serverless
Architecture)的发展趋势。LeanCloud
是这个领域起步最早的实践者之一,已经支撑了近十万个应用、网站、游戏和硬件产品,LeanCloud
美国节点正式发布仅仅数月,也已经为出海的中国科技公司带来了实际的价值和便利。越来越多的产品不再选择从服务器开始从零构建自己的线上能力,而是使用
LeanCloud
这样更贴近业务和场景的服务让产品尽快面市,并在快速迭代中拉开与竞争对手的距离。通过与腾讯云的合作,我们可以把
LeanCloud 的各项服务以及 LeanCloud
所代表的更高效的产品开发方式带给更多的用户。我们也期待在未来能够进一步与腾讯云在基础设施和网络资源方面开展合作,为用户提供更好的产品和服务。腾讯云移动开发解决方案与
LeanCloud
保持基本一致的价格体系,服务于腾讯云用户体系,并使用腾讯云的账号和财务系统。LeanCloud
主站将不受这次合作影响,所有账号、应用和数据都仅存放于 LeanCloud
的自有服务器。我们理解此次合作可能会为 LeanCloud
的用户及关注者带来一些疑虑,因此有必要在此进行说明。LeanCloud
是一个中立、独立的云服务平台,与任何第三方的合作都以此为基础。LeanCloud
注重保护数据隐私和安全、维护用户利益的原则和价值观也被我们的合作伙伴和用户所认同。LeanCloud官网:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图