首页 > 传媒 > 关键词  > 听云APM最新资讯  > 正文

唔哩携手听云APM:敏捷运维提升产品质量

2016-10-20 15:49 · 稿源: 站长之家用户

“唔哩”,来自于网络流行语“wuli”,出处在韩语,“我们”的意思。这个画风相当二次元的词是90后星人的基本语汇。唔哩是一款为90后年轻一代打造的新闻资讯App,团队一直致力于以优质内容为基础,以互动分享与个性化设置为特色,加入场景阅读新元素,满足用户任何时间和状态下轻松愉快的阅读需求,做最懂90后年轻一代的贴身伴侣。

作为一款时尚、流行的APP,产品上线之后一直了保持较快的增长速度,经统计自2016年3月份上线以来,4个月后注册用户已达400万、日均活跃用户数为25万人次。持续快速稳定的增长不仅与产品本身的话题性、强大功能密不可分,也得益于唔哩技术团队对用户体验的足够重视,同时也离不开敏捷开发/敏捷运维为产品提供的有力技术支撑。

一、重视持续集成,提升代码质量

对于创业公司来说,缺乏完善的流程规范和技术平台,许多开源的技术方案并不能很好的解决面临的困难,导致产品上线之初各种坑都踩了一遍。比如版本升级后,依赖模块调用版本不对,已知bug再次复现,数据错误等等;为此,唔哩设置了4种环境(dev+test+stage+prod)。

1、 dev环境用于各模块的功能开发,mock接口

2、 test环境用于集成测试,集成测试通过之后,可以提交新版本到stage环境运行

3、 stage环境是非常接近生产环境的,使用的数据是从生产环境同步过来的,在stage环境运行无异常后,最终提交新版本到prod环境

四个环境的操作系统版本和配置参数及环境变量及服务器架构都是一致的,尽量规避因环境不一致产生新的bug到生产环境。

有了环境,接下来就可以做持续集成了。唔哩采用的比较流行方案:gitlab+jenkins,gitlab做版本控制,jenkins做代码自动构建、测试和打包以及把代码自动布署到开发环境。

a)分支模型:gitlab主要分支有两个:master和develop。

master分支保持用于线上环境的代码。

develop分支保持下一个release版本比较新的代码,当develop分支的代码达到release稳定要求时,将develop分支的所有变化合并到master分支并对master打上一个tag(release版本号)。

feature分支用于开发新功能,从develop分支分出来,新功能开发完成之后合并到devleop分支。合并之后就可以删除此分支了。

release分支主要用于大版本之后发布一些小的改动(如果有大的功能调整需要从develop分支一个feature分支开发),从develop分支分出来,然后再合并到master分支。合并之后就可以删除此分支了。

bugfix分支用于bug修复,从主分支创建,然后合并到master分支和develop分支。合并之后就可以删除此分支了。

gitlab基本不用太多的配置,需要在gitlab上创建一个用户能pull需要做持续集成的项目,然后在项目的setting里设置web hooks,URL为jenkins生成的GitLab CI Service URL,trigger可以选Push events/Tag push events/Merge Request events,这样当向项目push代码或merge请求的时候就会触发jenkins的构建job,也可以在jenkins里配置轮询的方式,每过多长时间检查一下,如果条件符合触发构建任务。

b)jenkins需要安装一些插件:如Junit、Cobertura、Gitlab Merge Request Builder等。

Gitlab Merge Requests Builder允许在gitlab上提交merge request时候触发jenkins上配置的相关的构建任务,即在slave上将某个分支合并到另一个分支上,合并之后如果构建成功,就将打包好的文件scp到集成环境的主机上进行布署,最后生成测试报告,并发送邮件到相关的邮件接收人。如果一切正常则可以进行code review,这样可以提高code review的效率,然后在gitlab上真正合并分支。下面是jenkins 构建项目的主要项配置及截图:

参数化构建过程:添加4个String Parameter,名字分别为gitlabSourceRepository、gitlabSourceName、gitlabSourceBranch、gitlabTargetBranch ;

源码管理:勾选Git

构建触发器:勾选Gitlab Merge Requests Builder,Gitlab Project Path填上你的项目路径(比如:groupName/projectName), Crontab line 配置H/5 * * * * 即可;

Build:RootPom参数为pom.xml,Goals and options参数为clean cobertura:cobertura package ;

Post Steps:如下图

二、持续布署,每次变更都会加入跟踪统计

对于生产环境,唔哩比较谨慎,目前采用的是人工干预的方式来发布到生产环境。利用jenkins自动构建测试之后,将打包好的文件存放到版本仓库中,然后利用saltstack布署到生产服务器上。在这个过程中,唔哩用python写了一个web平台来管理发布流程。

首先定义一个流程,由开发人员提交版本需求,并描述具体变更说明;然后由运维人员操作布署,只需在web界面点击一下按钮,后台自动上线并实时展现日志;接下来由测试人员进行测试,并产生测试报告;最后流程由PM结束,PM决定一次版本上线是否结束,还是需要回退到历史的版本;版本回退的流程也是一样的过程,流程的每个节点都有相应的邮件描述说明,方便下一步的人员查看。具体流程及流程的每个节点执行哪些job都是可配置的,功能扩展很方便。

在做这个发版的平台主要是基于两个方面考虑:

1、一个是有一些web应用前面都是Nginx做代理,布署后端服务时需要先在Nginx上剔除,布置完后端服务再添加回来,这个需要一个单独的工具或平台集中管理不然不好控制;

2、另一个考虑是把每次版本发布都归档,包括布署过程中产生的日志信息,方便审计,而且根据对历史发版发布的统计也可以发现版本发布的质量,当然是布署上线的次数越少越好。

在未来,唔哩考虑让平台自动去处理,不用人工干预,也可以配置成定时任务去执行,比如一些需要在夜间时进行的版本发布,这样就会轻松许多。现在我们将一些备份的任务也放到这个平台上面来执行,每天会定时执行并发送执行结果邮件通知。

三、实时监控、持续优化

通过以上敏捷迭代可以在很大程度上能提高生产环境下的代码的质量,避免出现一些Bug。但是凡事都有意外,所以对于生产环境正在运行的业务,做好持续的监控很重要。

唔哩除了使用zabbix监控CPU、内存、磁盘IO、网络流量IO、进程/端口、TCP连接、日志以及中间件运行状态参数外,还使用了听云的APM监控技术。唔哩运维总监认为:“虽然商业产品需要成本,但是商业产品可以提供完备的服务,总比自已花时间慢慢研究来的直接有效,对于创业公司来说时间成本是巨大的,产品的快速发展需要良好的用户体验,APM的价值对于用户来说促进作用非常大,否则因为产品不稳定导致用户流失损失比成本更大。”

听云APM使用了大数据技术,可以定位分析到每一次函数调用具体情况。以下示例为唔哩Server端监控图例说明:

上图中是对一个登陆的过程进行的分析,点击“web应用过程”,可以查看耗时百分比,响应时间,吞吐率,错误率等。选择“响应时间”左边一栏显示的接口调用及平均响应时间,右侧显示为具体的分解图表信息,可以看到userparter/SELECT这个操作图形占比比较高,峰值近500ms,在表格中也可以看到是mysql操作,耗时占比96%,调用次数37,平均响应时间为184ms。有了这些数据信息,如果出现异常就可以快速定位到具体原因,而且对于产品的持续优化也有参考依据。

除了Server端,移动端和网络也使用了听云做了监控。通过听云App对唔哩APP的监控可以很容易查看客户端崩溃、网络请求、劫持分析、错误等。使用听云Network对网络的监控是因为听云能提供用户端的节点探测,比IDC节点监控更接近真实用户的网络环境。

敏捷运维是一种思想,是让软件开发、测试、运维之间建立起沟通协作关系,加强角色间信息互换和共享,统知名程和规范,最终实现运维自动化,共同保证产品的质量。

推广

特别声明:以上内容(如有图片或视频亦包括在内)均为站长传媒平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。站长之家将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。任何单位或个人认为本页面内容可能涉嫌侵犯其知识产权或存在不实内容时,可及时向站长之家提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明(点击查看反馈联系地址)。本网站在收到上述法律文件后,将会依法依规核实信息,沟通删除相关内容或断开相关链接。

  • 相关推荐
  • 聚焦科技运动融合!北京apm AI运动会引领沉浸商业体验升级

    北京APM于9月20日至21日举办“AI运动会”,集结多元智能机器人阵容,打造融合科技竞技与深度互动的沉浸式活动。活动以运动为核心,通过足球、拳击、马拉松等特色机器人项目,结合每日4场舞台表演和100个机器人领舞,直观呈现科技与运动的融合之美。现场设置AI互动环节,观众可体验机器人对抗赛、AI棋局对弈及机械臂操控,实现“科技可触、未来可感”。此次活动不仅是一场竞技盛宴,更以科技体验激发情感共鸣,通过沉浸式内容驱动消费新活力,突破传统商业增长极限,为城市商业生态注入创新动能。

  • 京东推出AI购物APP京犀:帮你选出最心仪商品

    9月25日,2025京东全球科技探索大会在京开幕。京东宣布未来三年将持续加大投入,推动人工智能技术与实体产业深度融合,目标构建覆盖全产业链的万亿级AI生态体系。作为战略落地的关键一步,京东正式推出新一代购物与生活服务超级入口“京犀”App,通过AI技术重构消费体验,引发行业高度关注。该应用将AI深度嵌入购物全流程,基于用户行为与商品特征精准理解需求,智能推荐商品并优化结算路径,实现“无感式”顺畅下单。平台整合餐饮、票务、住宿等高频生活服务场景,用户通过语音指令即可完成全流程操作。此次将AI能力全面开放至消费端,标志着京东从“供应链技术提供商”向“生活服务生态构建者”的角色升级。

  • 京东APP 16.0版本来了:号称颠覆传统购物方式

    在2025京东全球科技探索者大会上,京东宣布将于10月推出京东APP 16.0版本。 其搭载的智能搜索推荐功能爱购”,将前沿AI技术重构购物流程,号称实现对传统购物方式的颠覆性突破。 爱购”依托JoyAI大模型打造,采用语义可控生成式推荐模型OxygenRec与电商多模态理解大模型OxygenVLM作为快慢思考”结合的技术核心。 这一架构让APP能通过自然语言

  • 曝苹果为新Siri做了内部版ChatGPT 正测试搜索个人数据、执行App内操作等功能

    苹果公司正在开发一款类似ChatGPT的手机应用“Veritas”,用于内部测试明年将推出的新版Siri。该应用可快速评估Siri新功能,包括搜索个人数据、执行App内操作(如编辑照片)等。虽然不面向消费者发布,但该工具标志着苹果对Siri的全面升级已进入新阶段,旨在帮助员工高效完成测试。

  • 免费生成10秒高清视频!通义App接入通义万相2.5

    在2025云栖大会上,阿里发布通义万相Wan2.5 Preview系列模型,覆盖文生视频、图生视频、文生图和图像编辑四大功能。其视频生成模型首次实现音画同步,可生成匹配画面的人声、音效和BGM,时长从5秒提升至10秒,支持24帧/秒的1080P高清输出,降低影视级创作门槛。模型指令遵循能力增强,支持运镜等复杂连续变化控制。用户通过通义App输入指令即可自动生成10秒高清视频,每日免费使用15次,支持导出无水印视频。同时,图像生成能力全面升级,可生成中英文字符和图表,支持图像编辑功能,一句话即可完成P图。

  • 小米汽车:苹果授权Apple Music安卓版将陆续推送

    小米汽车高度重视苹果生态支持,调研发现SU7车主中超半数为苹果用户。针对苹果用户用车痛点,小米与苹果深度合作,通过系统级整合实现账号永久同步和无缝音乐续播,并特别适配授权版Apple Music安卓应用,提供无损音质体验。目前相关更新已通过OTA向全系车型推送,显著提升苹果用户的用车便捷性和音乐品质。

  • 苹果App Store榜第一!《植物大战僵尸3》国服今日上线:EA正版授权

    今日,《植物大战僵尸3》在全平台上线,服务器预计将于上午10:00开启。 目前,《植物大战僵尸3》在苹果App Store应用市场的益智解谜榜排名第一。 据了解,《植物大战僵尸3》是EA正版授权的植物大战僵尸系列第三部主线作品。 本作不仅延续了经典塔防玩法与幽默风格,还创新引入元素系统,大幅拓展策略维度。

  • 腾讯云马文霜:Cloud Mate:助力企业高效管云、用云,让云上业务坚如磐石

    9月17日,腾讯云在2025全球数字生态大会上宣布智算全面升级,推出面向Agent的AI基础设施解决方案。腾讯云副总裁李力强调“同源同构”为核心原则,通过统一技术架构支撑自研业务与外部客户,实现产品标准化与全球化服务一致性。升级方案包括Agent Runtime云沙箱、Cloud Mate智能运维体及全链路安全能力,旨在提升模型推理效率、工具集成灵活性和系统稳定性,助力企业降低AI应用门槛。李力指出,未来两年AI+Agent部署将大幅增长,腾讯云已服务国内90%的大模型厂商,并为多行业提供高效智算支持。

  • 上云好时机!华为云Flexus OBS化繁为简解锁存储管理新体验

    在AI热潮与企业数字化转型加速的背景下,华为云Flexus对象存储(OBS)凭借高效、稳定、安全、低成本的优势,成为企业构建海量非结构化数据存储体系的关键。它支持弹性扩展与按需付费,避免资源浪费,并通过多副本、纠删码等机制保障数据持久性。Flexus OBS还具备高并发处理能力,适配AI训练、音视频平台等场景,与华为云其他服务深度协同,实现“即存即用”。目前,华为云828 B2B企业节正推出优惠活动,助力企业降本增效。

  • 睡眠APP测评:谁能真正改善你的睡眠

    睡眠问题已成为全球健康难题,2021年中国超3亿人存在睡眠障碍。文章评测六款主流睡眠APP(AutoSleep、小睡眠、蜗牛睡眠、天悦康康、熊猫睡眠和潮汐),从监测技术、睡眠功能、数据分析、收费模式、用户体验和改善效果等维度进行深度测评。结果显示,依赖手机传感器或麦克风的应用虽便捷但准确性受限;结合智能穿戴设备的APP能提供更专业的睡眠分析和针对性改善方案。用户可根据自身需求,选择精准改善睡眠结构或仅作放松辅助的应用。

今日大家都在搜的词: