本篇文章1953字,读完约5分钟
随着移动网络的迅速发展移动终端的数量超过了11亿。 如何实现大量顾客的即时推送,成为开发者们不能忽视的问题。 极光推送作为大型推送服务的提供商,即时推送业务的成功率达到99%以上。 因为这个51cto采访了极光推送的首席设计师王丰,破译了极光优质推送背后的秘密。
采访的录音整理如下。
记者:极光推送的这个产品的初衷是什么? 首先涵盖什么样的客户基础?
王丰:随着移动网络的持续热度,手机app已经成为必要。 这时,开发者和顾客之间需要信息表现的桥梁。 推送服务对大企业来说和重复劳动一样,但小开发者没有投资机房构建系统的能力和能力。 所以极光推送试图为开发者减轻一点负担。
记者:如果中小开发者选择自己推送服务,会遇到那些困难吗?
王丰:首先中小开发者需要构建系统的后台团队,其次与各idc和运营商联系需要大量的精力。 第三中国的网络环境又多又杂,需要考虑在哪里配置服务器,以及如何进行性能调整。 另外,即使机房的光缆被挖了,由此产生的网络切断情况如何解决? 这些是非常多的复杂问题,中小开发者靠自己的力量做不了多少。
记者:作为国内最早提供推送服务的企业,极光在技术选型和协议架构方面有那些考虑事项吗?
王丰:在技术选型方面,极光推送立足于自主开发。 其中以开源的rabbit mq为消息队列,缓存couch base。 在这两种技术中,erlang都发挥着重要的作用。
在协议中,极光团队引用了开源的amqp协议、tcp/ip和一点电子邮件协议。 我们总结各种协议,参考他们的实现理念,最大限度地满足我们的诉求。
在系统体系结构中使用分布式体系结构的方法。 其优点是,系统架构完备后,顾客数量突然增加,机器不足时,通过直接增加机器数量可以保证系统的正常工作。 这样可以消除单点错误。 例如,北京和广州的机房引进了同样的服务。 广州机房一停,网络顾客就直接采用北京机房,不会影响顾客的体验。 即使两个机械室都正常工作,也能实现负载均衡,提高顾客满意度。
记者:灾难恢复方面极光是怎么制造的?
王丰:以sdk的客户访问为例,极光位于北京、香港、广州,都有机房。 如果访问北京或广州机房失败,sdk将显示一条消息,通知您以下最佳访问室: 因此,机械室发生问题时,不会影响客户的体验。
记者: erlong这个语言不太流行。 为什么极光推送的很多主要模块是基于这种语言开发的呢
王丰: erlang语言在国内不太有名,但在海外很有名。 erlang最初是埃里克森为其电信事业开发的,因为电信事业需要极高的可靠性。 选择erlang是因为我们也喜欢它的可信度。
其次,我们选择的rabbit mq,couch base都是在erlang开发的。 所以我们只能研究erlang,再表达为官方信息,稍微改变一下意见。
第三erlang适合我们的后台推送业务。 因为开发效率非常高,对开发者的要求也很低,几乎没有从java和C到erlang的学习价格。
记者:极光队如何保障推送的到达率?
王丰:有在线推送和离线推送两种方法。 如果客户在线,立即推送。 如果因为互联网的原因和顾客的手机缓存而丢失消息,就不会得到通知的反馈。 这是因为他下次在线或满足触发条件时,会立即收到后台再次发送的通知,推送成功率将达到99%以上。
记者:你对刚入行的工程师的成长有什么建议吗?
王丰:现在我带着队伍,注意新人。 我有点感觉。 我个人建议,如果想走技术这条路,应该坚持住,先下沉,先在下面出点事。
第二,学习技术时,不要太杂学,要多看看海外原版的技术书籍、技术文献,深入了解自己的行业。
记者:现在网上的各种语言也非常多。 swift、java、c、erlang等。 工程师应该在语言选择方面观察它们吗?
王丰:用大而化的一句话来说,实现一个功能与语言无关。
对计算机专业来说,c语言一定要学好。 例如,linux、windows、苹果等操作系统是用c语言编写的。 另外,即使是非常高性能的库,c语言也是必不可少的。 所以要走技术这条路,c语言是不可或缺的。 否则,我不擅长操作系统,无法与机器对话。
结语
王丰说,未来的推送服务应该大致分为两八类,80%的客户选择第三方服务,20%的客户选择自己做。 《失控》的作者凯文·凯利也说,互联网公司聚集在大型企业,大型体积越来越大,在短时间内自然有利,但长期来看,有点边缘化的企业渴望产业。
一般的边缘产业是大型企业没有观察到的小市场,但积累到一定程度后可能会爆炸。
1 .每天的网络遵循领域规范,转载的原稿都确定注释的作者和来源2 .每天网络的原始复印件,转载时一定要注明文案作者和“来源:每天互联网”,不尊重原始行为的每天在网上。 3 .作者的帖子可能每天在网上制作或补充。
标题:【科讯】专访极光王丰:解读优质智能推送的秘密
地址:http://www.miutrip.net.cn/news/7383.html