加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 佳作 > 正文

携程APP好用的秘诀大起底 告诉你APP性能优化也有捷径可走!

发布时间:2016-10-28 13:00:32 所属栏目:佳作 来源:周雪
导读:副标题#e# 陈浩然,携程负责无线基础技术的高级开发总监。在WOT2016移动互联网技术峰会上,他与大家分享了携程APP在网络性能方面一些优化实践和方案。 携程无线网络服务通道架构 陈浩然介绍了2016年年初携程无线网络服务通道的架构图,其中无线APP有两个通

携程在这方面的经验是如果在建立连接、序列化网络请求报文,包括发送网络请求这三个阶段失败,则直接进行重试,并不需要业务程序来通知需要重试。另外也可以自行确保服务幂等性,添加重试参数。“携程目前网络服务成功率已经从95.3%增长到99.5%。”陈浩然告诉听众。

Hybrid网络性能优化

携程APP好用的秘诀大起底 告诉你APP性能优化也有捷径可走!

传统Hybrid网络服务基于系统接口,无法控制网络流程,平均网络服务成功率仅为97%左右,携程想了两个方案:一是拦截所有HTTP请求进行直接转发。二是用Hybrid网络接口方式进行转发。最终携程选择了第二个方案。

通过这张图可以看出,发一个网络请求是走Hybrid接口,由Native发一个TCP连接到TCP Gateway,并不知道TCP这个通道存在,还是正常发一个网络请求,是Get还是Post,告诉Hybrid库要发HTTP请求,以为还是HTTP请求,到Hybrid框架这一层,现在知道要发一个HTTP请求,把HTTP请求所有参数作为一个正常的TCP服务,传到TCP Gateway,这一层解析出服务号之后,其实要发HTTP请求,会拼接成一个正常的HTTP请求,再发到HTTP Gateway。对于HTTP Gateway而言,并不知道HTTP请求是从传统Hybrid还是H5网站发来的HTTP请求,还是从TCP Gateway这一层发送的请求,对HTTP Gateway不需要做任何改造动作。只不过在HTTP端Hybrid网络层和TCP Gateway做一些改造,这样HTTP请求做一个通道的动作去做协议转发。HTTP Gateway把包装过的HTTP请求转发到后端服务器之后,服务端响应之后会把相应HTTP响应报文再传给TCP Gateway,再会重新打包成一个正常携程协议TCP响应报文给客户端,会再把这个报文解开,类似于把一个HTTP请求发送完了,得到响应概念,再传给Hybrid业务层。需要做的改造只是针对HTTP里Hybrid网络发送接口需要进行改造,包括TCP Gateway要加一个功能。对于业务端,传统Hybrid业务层面开发者完全不需要知道这一层,HTTP Gateway也不需要这一层,对于业务来说是完全透明。

通过这样的通道架构,所有HTTP请求都会通过TCP Gateway进行中转,中转到HTTP Gateway,对于业务是完全透明的,平均网络服务成功率已经提升到了99.2%,同时还把网络服务耗时降低了30%。

海外网络性能优化

携程在海外没有IDC,除了CDN静态资源之外,业务服务所有的请求都需要回源,速度非常慢。如何破?

携程APP好用的秘诀大起底 告诉你APP性能优化也有捷径可走!

携程采用了Akamai(全球最大的CDN厂商解决方案),有一个专署通道,到海外可以走Akamai专署通道,而不是传统Internet路由线路到达服务端。如果海外用户登录,Akamai通过定制域名获取服务端IP,之后所有网络服务会优先走Akamai通道,然后直接落地到携程IDC,不需要再走传统联通、电信运营商通道。当然陈浩然也表示,Akamai通道不是万能的,但平均耗时可以减少到30%,比传统Internet通道优化很多。

携程APP好用的秘诀大起底 告诉你APP性能优化也有捷径可走!

最新的无线网络服务通道架构图,不管Hybrid还是Native,都是走TCP连接做网络服务,Hybrid有一个内部API来控制去发送网络请求,不需要再让系统来控制HTTP请求到HTTP Gateway,而只是全部用Native TCP连接到TCP Gateway,如果是Hybrid请求被包装过了,就转成HTTP请求到HTTP Gateway,如果是正常TCP请求就直接发送到对应后端服务,这是最新的网络服务通道。

本文由陈浩然于2016年8月,在WOT2016移动互联网技术峰会性能专场《无线App网络服务通道治理和性能优化》主题演讲整理而成。WOT2016大数据峰会将于2016年11月25-26日在北京粤财JW万豪酒店召开,届时,数十位大数据领域一线专家、数据技术先行者将齐聚现场,在围绕机器学习、实时计算、系统架构、NoSQL技术实践等前沿技术话题展开深度交流和沟通探讨的同时,分享大数据领域最新实践和最热门的行业应用。了解WOT2016大数据技术峰会更多信息,请登陆大会官网:http://wot.51cto.com/2016bigdata/

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读