技术开发 频道

移动互联网初创技术与创新沙龙干货分享

  【IT168技术沙龙】现如今,移动、大数据等热门技术经过几年的历练,发展脉络已经相对明确,技术的变革空间相对收窄,留下的是无限的创新空间与冷静思考。创新不是盲目的耍新花样,不是拍脑袋的灵感,而是在通过反复推演之后的冷静思考。在中国这个竞争日趋激烈的市场,每天都有数以万计的初创企业诞生,又有90%以上的初创企业没有见到第二天的太阳,现实摆在面前,战争一样的惨烈。

  很庆幸的是,能有一些企业如同诺曼底登陆一样幸存下来,他们是幸运的,积累了大量的经验。今天,易到用车、陌陌、blueware的技术负责人来到IT168旗下Club168"移动互联网时代企业创新发展"沙龙,分享自己的经验,为更多的创业者和技术创新者提供参考。

移动互联网初创技术与创新沙龙干货分享
▲现场演讲图片

  一、易到用车架构演进

  首先是易到用车的架构师余庆,带来了《易到用车架构演讲》的主题分享。易到用车于2010年成立,是智能交通和汽车分享理念引领者,采用互联网模式 “共享加盟+服务平台”,目前已覆盖北上广等57个城市。

移动互联网初创技术与创新

  易到用车架构图

  据易到用车的架构师余庆介绍,这个架构比较清晰和合理,个别模块存在耦合。而且主要基于数据库,基本上没有分库分表。

  在实践过程中,余庆总结了一些经验,比如文件保存到mongodb太费内存;通过移动终端承担一些计算工作,比如采点数据;流水数据在方案设计时就应考虑历史数据问题,如:订单、支付、采点数据。

  余庆认为,未来架构演讲的方向主要包括:平台化和服务化、数据库分库分表、异步化处理,支持更大的在线用户数。

  在架构演进过程中遇到的技术挑战主要包括:1、业务规则变化快,比如派单。2、冷数据存储:如日志文件。3、消息推送:实时性和送达率要求,高并发连接。

  现有的消息推送平台主要基于ejabberd:xml格式臃肿费流量;基于mongodb轮询,简单但低效;而且无法线性扩展。对新的消息推动平台的期望目标是:做到可靠消息推送,支持server和app双向推送;基于epoll的高性能server,轻松支持100K级连接;无单点问题,高可用;支持线性扩展。

  新的消息推动平台的关键点是:1、尽可能避免查询DB。2、用户在线的情况下消息不落地推送。3、用户不在线或者推送失败,存储到DB中。4、用户上线时,会从DB中加载待发送消息。

  最后,余庆给初创企业提出了两个建议:1、初期避免使用过重的架构,不要生搬硬套大公司架构。2、初期够用即可,后期改进或重构。

  二、陌陌存储平台发展史:五大阶段

  第二位登场的是来自陌陌的陈湛翀,重点讲述了陌陌存储平台发展的五个阶段:

  第一阶段,使用的云主机,采用了openfire、nginx、php、mongodb等开发技术和数据库技术。由于使用了云主机,遇到了瓶颈:云主机性能跟不上访问量。第一阶段总结的经验是,能够用起来远比所谓的完美系统要好的多。

  第二阶段,将存储服务与逻辑业务开始分离。优点:方便开发者。缺点:高并发下性能差。这个阶段的瓶颈:NFS 在高并发下性能极差。初创经验:不要过早优化。

  第三阶段,还是将存储平台与逻辑业务分离,用ngx_lua 写的 uploade,实现了同步上传,同时优化了异步上传。这个阶段的瓶颈是:扩展困难。图片文件名例子:…/A0/B9/*.jpg。总结的初创经验:技术选型要注意可维护性。

  第四阶段,选型分布式文件系统(HDFS、MogileFS、FastDFS、TFS),处理好文件名转换,cache 使用快盘,TFS 使用慢盘。

移动互联网初创技术与创新

第四阶段架构图

  第四阶段遇到的瓶颈:MySQL 作为文件名转换的 DB

  …/AA/BB/*.jpg -> /v1/tfs/T1pabnek…

  总结的初创经验:是否有必要自己搭建存储平台。

  第五个阶段:区分冷热数据、采用 atom cpu 的低功耗服务器、多 IDC 上传、细分存储,节省成本、…

  三、应用性能监控与管理

  第三位上场的嘉宾是blueware技术负责人赵海俊,带来了《应用性能监控与管理》的精彩分享。

  赵海俊率先讲述了什么是应用。普通用户定义的应用(包括百度、陌陌…);技术人员心目中的应用(开发和部署的程序);Gartner定义的应用(具备五个特性的集合),具体体现在:

  1、最终用户发起一个请求,这个请求会触发一系列软件和硬件的执行来响应这个请求。

  2、软硬件的执行过程中的有些步骤的顺序是按照业务逻辑描述的,而不是计算机系统

  逻辑。

  3、多种软件算法在执行时互相协作。最后的执行结果被编译和组装成一系列数据的结果集。

  4、结果数据集通过软硬件被传输和展现到最终用户的使用界面上。5、假设一系列算法被执行完毕,它们就达到了终端使用者的使用目的。

  紧接着谈到了应用性能和管理主要做的工作包括如下四个步骤:

移动互联网初创技术与创新

  Sense:即帮助用户发现,并定量的确定整个应用处于非健康状态。

  Isolate:当确定了综合应用确实存在健康问题后,需要定位到底问题出在哪里。

  Diagnose:一旦问题定位到某个具体的应用领域,我们就可以对这一应用领域进行的专业的问题根源诊断。

  Reapair:最后是修复,当通过前3步对问题的Drill Down,定位问题的根源。

  Gartner 定义APM的五个功能

移动互联网初创技术与创新沙龙干货分享

  目前国内外主要的APM提供商:国内有BlueWare、监控宝、基调网络、天旦网络等。国外有NewRelic、AppDynamic、Compuware、Crittercism等。

  Blueware APM 实现原理

  JVM监控:

  主要通过java.lang.management 接口

  ClassLoadingMXBean:监控类加载系统。

  CompilationMXBean:监控编译系统。

  GarbageCollectionMXBean:监控 JVM 的垃圾收集器。

  MemoryMXBean:监控 JVM 的堆和非堆内存空间。

  MemoryPoolMXBean:监控 JVM 分配的内存池。

  RuntimeMXBean:监控运行时系统。

  ThreadMXBean:监控线程系统。

  源代码插装

移动互联网初创技术与创新

  拦截器截取

移动互联网初创技术与创新

  类包装

移动互联网初创技术与创新

  字节码插装

移动互联网初创技术与创新

  小结

  本次沙龙活动现场嘉宾分享了个自己的经验总结,个个是干货,处处是精彩。这也是Club168做沙龙活动的初衷,希望给创业者和开发者们搭建一个平台,有更多的业界专家来分享干货,也有更多的创业者参与其中,期待下次的精彩续集。

2
相关文章