谈谈后台服务的灰度发布与监控

为什么要有灰度发布与监控

《海量服务之道》里的《灰度发布》和《全方位监控》这两门课想必技术同事都已经学习过了。我觉得这两个方法论是非常具有行业特色的,也是非常具有腾讯特色的。

笔者在加入腾讯QQ后台团队之前,曾经在电信行业、金融行业做过几年开发工作。刚进入腾讯时,觉得技术上很多地方让人耳目一新:

  1. 后台系统都是部署在非常多的廉价服务器上,每个人都会管理非常多的机器,让人觉得很有成就感很富有
  2. 有比较精确的设备预算计算模型,每个服务器的性能在考虑容灾冗余的前提下,通常被压榨到刚刚好,负责人会深入的洞悉整个系统的性能、容灾、柔性等方方面面。能负责一个海量的系统是很荣耀的一件事情
  3. 没有专职的测试人员,经过开发者自测后,灰度发布加详细的监控,主要的系统几乎每两周都会被发布一轮,作为后台技术人员,自己的工作直接影响数以亿计的用户,有点手握核弹处于上帝视角的感觉
  4. 监控系统(我们内部一个叫monitor的系统)真的是太方便了,一条条曲线直观的展示整个系统运作的各种指标,如果有异常短信和电话就会响起来,让人觉得一切尽在掌控,有一种面对着大量仪表盘操控着航母游弋或者是战斗机挂着核弹翱翔的感觉。

好了,赶紧结束程序员意淫的美好感觉,我想说的重点是:灰度发布和监控真的是互联网海量服务必备的两大利器,能够极大的提高后台服务可用性和运营水平。

当然,灰度发布不只是一部分一部分的发布新代码,监控也不只是绘制曲线和告警短信那么简单,这里面深究下去会有很多东西,背后的哲学是持续交付、用户测试和尽在掌控。

毫秒服务引擎(msec, 取英文名Mass Service Engine in Cluster的首字母组合)是腾讯一个开源框架,其创作冲动和构建经验,来自QQ后台团队超过10年的运营思考。灰度发布能监控是毫秒服务引擎设计的重要考量点。

毫秒引擎里是怎么做的?

灰度发布

在服务配置管理页点击“制定发布计划”

选择这一次灰度要发布的目标机器和发布类型:

在接下来的向导中选择正确版本的配置文件、外部库、业务插件等,这样就完成了发布计划的制作:

接着,点击菜单 “运维->发布”,可以查询所有发布计划,对于已经发布的计划,可以做回滚操作。点击详情可以查看发布计划更详细信息,并执行发布:

监控

关于监控,在第二篇:RPC和路由管理那里讲得已经比较详细了,这里不赘述,只说明一下:除了RPC和框架本身自动上报的一些信息,还支持业务自定义上报信息(例如我想上报第28级VIP用户登录的次数),且支持对于关键指标的波动、最大值、最小值设置告警:

结语

灰度发布和监控是互联网海量服务必备的两大利器,能够极大的提高后台服务可用性和运营水平,背后的哲学是持续交付、用户测试和尽在掌控。借助毫秒服务引擎,初创团队可以快速获得这两大利器。详细的可见腾讯云服务市场毫秒服务引擎官网,或者微信公众号:msec-engine

相关推荐

后台服务标准化运营

谈谈后台服务的RPC和路由管理

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

云服务应用: 架构师还不知道的秘密

自从云计算问世以来,它的主要重点一直就是把应用程序迁往云计算。在这个目标中所隐含的意思就是,在云计算和数据中心之间其实并不存在着什么功能性方面的差异;要说有差异...

3369
来自专栏Java架构

十几位资深架构师,整理了最新架构师学习体系,分享给大家......学习方式一、构成架构师的技能体系三、分布式架构技能学习四、微服务架构技能总汇五、并发编程六、优化调优七、Java开发必知工具八、实践一

不管是开发、测试、运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。

783
来自专栏软件测试经验与教训

Gmail测试工程经理Ankit Mehta的访谈

3466
来自专栏网络

物联网技术,全矩阵图景展现

【原创声明】 作者:王一鸣 来源:物联江湖(iot521) 欢迎转载,请保留本声明,谢谢 ! 参照物联网技术的自然组成结构,以及信息产业格局和物联网商业视角的分...

2128
来自专栏Java架构师学习

淘汰?不存在的!Java程序员如何避免职业危机五、项目实战

Java行业在当下人才是供不应求,但是作为[Java程序员]的你也得居安思危,你要知道你身处的是一个高速变化的行业,稍不留意你的位置还是存在被取代的风险,那么对...

3325
来自专栏杨建荣的学习笔记

运维平台中的业务树梳理思考

今天和同事聊了下业务树建设的事情,也收获了不少的建议和想法。从最开始要建设应用管理的时候,自己就在犯疑惑,这个应用管理该怎么做。从我接触的很多业务来说,这个业务...

662
来自专栏Java架构

Java程序员的黄金5年该如何突破,献给还在迷茫的你

在Java程序界流行着一种默认的说法叫“黄金5年”,也就是一个程序员从入职的时候算起,前五年的选择直接影响着整个职业生涯中的职业发展方向和薪资走向,如何走好这5...

1132
来自专栏CSDN技术头条

如何做好大数据产品设计架构和技术策略?

作者经过研发多个大数据产品,将自己形成关于大数据知识体系的干货分享出来,希望给大家能够快速建立起大数据产品的体系思路,让大家系统性学习和了解有关大数据的设计架构...

2458
来自专栏挖掘大数据

快速全面构建大数据认知体系

很多人都看过关于大数据方面的文章/书籍,但都是零散不成系统的,对自己并没有起到特别大的作用,所以本文希望能解决大家的疑惑,带大家从整体体系思路上,了解大数据产品...

2247
来自专栏Cloud Native - 产品级敏捷

微服务架构 (八): 业务驱动与团队协作微服务粒度设计: 微服务内部的世界

2016.8.20, 深圳, Ken Fang 在“微服务架构設計 (七): 微服务粒度设计上的核心设计原则与思考的面向” 的一文中, 探讨了从微服务外部的世界...

2026

扫码关注云+社区