当前位置:科技 > 资讯 > 正文

云片CTO林佳齐:云通讯系统稳定性实践与探索

2017-09-07 14:34:14       来源:中国网

9 月 4 日,云片 CTO 林佳齐在高端技术人员学习型社交网络 EGO 进行了线上分享,与杰出技术领导者探讨云通讯稳定性实践与探索之路。

一、从满足自有业务需求到开放服务

云片并非一开始就做云通讯,而是先做了一款叫维客 CRM 的软件。这个软件面向淘宝商家提供会员营销服务,有大量短信需求。当时林佳齐负责短信平台的开发,对接行业服务商,发现这个行业虽然存在比较长时间,却没有一家能满足需求。为了提高短信服务稳定性,云片踩过无数坑,经过 1 年多的产品迭代,发现自己平台功能已经比服务商的更强大,所以就想把服务开放出来,让其他公司使用短信时能少踩坑少走弯路,这是云片的由来之一。

 

avatar

 

△短信发送流程

 

avatar

 

短信通过三大基础运营商的通道发出去,一般情况下单个通道的发送速度为几到几十不等;通道在运营商体系可分移动、联通、电信三类;大家通常听到的系统通道、营销通道、共享通道和专用通道的分类,是取决于短信服务商对通道的运营策略。

二、打造高可用高并发系统踩过的坑

1、发送速度

发送速度在工程师眼里即并发数,现在依然有很多公司,并没有这样的技术概念,而且服务也无法支持做性能压测,这意味着服务的性能是个黑盒子,你不知道具体的性能指标是多少,什么时候会出现瓶颈,这是一个技术风险。

2、系统处理速度和短信实际发送速度

解决并发问题后,开始筛选⼀些至少能把并发参数讲清楚的公司。但他告诉你的速度,可能并不是实际的短信(或者叫通道)发送速度,只是系统处理速度。造成的结果是,很可能短信需求提交出去了,但只是提交到服务商的缓冲队列中,并没有及时的发给客户。这是一个业务延迟风险。

3、专用通道

被坑多了我们开始关注通道速度。但是一个服务商要服务多个客户,不可能为每一个客户分配专属通道。这意味着大部分客户是以共享的方式来使用通道的,所以给你分配的通道速度,并不是实际可以获得的发送速度。这是一个至今还隐藏的坑。林佳齐建议解决的方案是找一家足够透明的公司,坦诚沟通。因为通道资源是有限的,有一些公司即使提供共享通道,也能通过技术手段保证发送速度不受影响。

前三个坑,如果服务商不能很好的解决,每个公司在接入的时候就要投入很多研发的资源,包括接口稳定性监控、短信延迟监控、多服务商接入和互备切换等,会增加研发成本。

4、短信效果

广告业有一句名言:我知道在广告上的投入有一半是无用的,但我不知道是哪一半。短信营销也一样,短信的效果没办法直观看到。对此,云片针对短信营销场景,做了精准营销服务。

精准营销的基本流程是筛选目标人群发送,根据数据报表分析营销效果并做调整优化,它解决的问题是:

精准筛选目标受众,节省短信营销成本;

支持在短信内容里插入短链接,精确统计每个正常手机号码的点击情况;

提供详细的发送效果数据报表:包括短信到达率、未送达原因分布、短链接点击率、点击省份分布等,短信发送效果清晰明了;

可以按点击情况导出数据后,对产生点击行为的用户进行二次营销。

三、云片云通讯系统演变过程

1、为了长远发展,给飞行中的飞机换引擎

云片早期平台部署在阿里云的早期版本上,随着业务量的增长,底层平台的问题逐渐暴露出来,包括物理机资源隔离不彻底等原因带来的 CPU、IO 及网络抖动。尽管我们对服务做了很多技术优化,但 IaaS 层的不稳定因素依然是个非常头痛的问题。

随着云片对服务的要求越来越高,我们开始考虑平台的迁移问题,做长期的规划。当时业务量刚好迎来增长高峰,而迁移涉及面非常广,从后端的 DB、中间件服务到前端的应用、域名解析,以及数据、配置和通道等资源迁移,是一个巨大工程。在保证线上业务不受影响,并且业务开发能正常进行的前提下,做平台的迁移是个很有挑战的事情。

确定迁移之后,云片开始对系统进行全面的、系统化的梳理,原先很多设计不合理的地方、历史遗留缺陷、环境依赖硬编码等问题,被重新审视。整个迁移的过程就是一个偿还技术债务的过程。经历这样一次飞机换引擎的挑战,云片系统架构、稳定性和可运维性都有极大提升,团队能力也得到历练而变得更加自信。

2、把监控工具做成分布式系统,提高稳定性

为了对所有通道进行自动化监控,云片开发了 Android 程序,安装在手机上做成监控机。由监控中心自动触发监控短信,监控手机负责上报采集到的信息,比如短信接收时间、短信内容等信息,监控中心再按规则策略判断是否存在异常,并通知路由中心做自动切换,达到及时屏蔽问题通道的目的。

 

监控流程.png

 

以下是云片为了提高监控系统稳定性,对监控服务做的几个版本迭代:

 

单机&多机.png

 

 

心跳&异步式.png

 

各版本相应解决的问题是:

单机版:解决监控自动化问题,实现 7*24 小时自动监控和切换。

多机版:解决单机性能问题。随着需要监控的通道增加,单个监控机已经有性能瓶颈,需要更多的监控机来分摊压力。

心跳版:减少误报。随着监控手机越来越多,小概率的网络抖动、假死等问题更多的暴露出来,心跳版实现对问题手机做自动剔除的操作,减少监控的误报。

异地分布式版:解决地区性网络故障对监控的影响。包含两方面,一是办公网络不稳定问题,监控机用的是办公网络,网络抖动或断网时有出现,如果监控机都放在一个办公区网络,一旦网络出现问题,会出现监控空白时段;二是解决运营商的地区性网关故障问题,如果监控机都放在一个地区,如果该地区网关故障,就会导致监控误判。

经过以上版本的迭代,监控的稳定性已经非常高。云片的经验是整体服务的稳定性,是由一个个基础服务共同决定的,当我们对稳定性的要求越来越高时,每一个看似简单的服务都有很多细节需要考虑。

四、Q & A

1、短信供应商做了多久?

云片短信平台是 2012年开始做的,2013 年开始对外提供服务。如果算短信供应商的话,是做了 4 年多。

2、产品有哪些行业领先的特性?

实时数据分析

比如实时到达率统计、耗时分布、错误码分布等,方便第一时间查看短信质量。

注册验证码的场景深化

一方面云片提供短信接收失败自动转语音验证码的功能,比如手机号在黑名单里,会收不到短信,但语音验证码可以送达,能够提高短信注册成功率。这个功能只要在后台开启就可以实现,不需要开发。

另一方面,如果客户在注册成功后,回调云片的统计接口,我们可以帮客户做成功率的统计和监控,如果注册成功率低于设置的值,你会收到短信提醒。

营销场景的深化

这个在前面精准营销里已介绍过。总的来说可以帮助运营同学更高效的做短信营销,并一目了然的查看营销效果。

防轰炸或者短信防刷功能

短信验证码被恶意调用的情况,云片叫短信轰炸。我们实现了实时自动识别和防范机制,自动屏蔽恶意的短信,并通知给客户,最大程度帮助客户减少短信费用损失。

3、短信接口防刷、到达率优化、转换率优化能分享一些案例么?

接口防刷是云片客户经常碰到的问题,大部分情况是加图片验证码或者其他类似的手段可以解决。同时还需要网站做好自己的安全保护,比如对访问 IP 的限制等。

到达率有两个影响因素:一是手机号质量,手机号正常的情况下到达率接近 100%,云片提供失败原因分布统计,可以直观看到手机号的质量。二是黑名单,包括自己的账户黑名单和供应商黑名单。一般来说,供应商的系统类的短信黑名单库小一点,到达率高;营销短信命中黑名单的概率大一些,到达率会略低。

转化率方面,前面在讲云片产品特点的时候有提到,我们在提升注册验证码方面提供转语音验证码功能,能帮助提升验证码短信的成功率;营销转化率方面主要是通过精确营销,提供更多数据参考,理论上做精准的筛选有利于转化率的提升。另外,转换率也跟到达率有关系,必须得保证到达率在一定比例之上。

科学 猎奇 娱乐 游戏 汽车 手游 金融 家居

新闻频道
国内国际社会评论文史专题经济新闻图库老照片
军事频道
军事要闻中国军情国际军情军事历史网友原创军事专题军事图库武器装备军事文化
汽车频道
车闻Update漫话车型漫记车映像实拍解析行业动态新车资讯独家评测汽车生活人文之旅
教育频道
留学移民高考中小学拒讲堂师说商道商论
游戏频道
游点意思网络游戏网页游戏单机游戏手机游戏军事游戏游戏产业发号中心游戏美女图说游戏囧游囧事
科技频道
业界互联网行业通信数码手机平板IT硬件相机笔记本家电产品库
旅游频道
X旅行视界目的地 美图发现社区
文化频道
专题非遗沙龙历史艺文博览读书图库书画禅文化
书画频道
资讯收藏展览在线展厅艺术家视觉专题
体育频道
国际足球中国足球NBACBA 综合体育图片汇总专题策划
视频频道
新闻军事中华出品原创娱乐纪录片微电影决胜海陆空
娱乐频道
明星电影电视音乐专题图库论坛
公益频道
老兵出镜老兵动态老兵资料库关爱老兵在行动公益组织公益人物
城市频道
城市聚焦城市设计城市生活城市策划城 市图赏城市加盟城市论坛
社区频道
中华论坛网上谈兵中华拍客社会时政国际风云生活消费休闲旅游美丽女人娱乐八卦经济风云情感世界文学天地
好医生频道
保健养生疾病防治行业资讯名医谈健康 医生专栏食疗跑步
经济频道
国内宏观海外经济产经商贸时尚消费电商眼球儿企业故事专栏评说识局经济