文档章节

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

偶素浅小浅
 偶素浅小浅
发布于 2016/11/05 14:36
字数 1082
阅读 85
收藏 0

版权声明:本文由廖念波原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/149

来源:腾云阁 https://www.qcloud.com/community

 

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

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

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

  1. 后台系统都是部署在非常多的廉价服务器上,每个人都会管理非常多的机器,让人觉得很有成就感很富有

  2. 有比较精确的设备预算计算模型,每个服务器的性能在考虑容灾冗余的前提下,通常被压榨到刚刚好,负责人会深入的洞悉整个系统的性能、容灾、柔性等方方面面。能负责一个海量的系统是很荣耀的一件事情

  3. 没有专职的测试人员,经过开发者自测后,灰度发布加详细的监控,主要的系统几乎每两周都会被发布一轮,作为后台技术人员,自己的工作直接影响数以亿计的用户,有点手握核弹处于上帝视角的感觉

  4. 监控系统(我们内部一个叫monitor的系统)真的是太方便了,一条条曲线直观的展示整个系统运作的各种指标,如果有异常短信和电话就会响起来,让人觉得一切尽在掌控,有一种面对着大量仪表盘操控着航母游弋或者是战斗机挂着核弹翱翔的感觉。

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

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

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

毫秒引擎里是怎么做的?

灰度发布

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

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

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

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

监控

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

结语

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

本文转载自:

偶素浅小浅
粉丝 8
博文 202
码字总数 0
作品 0
信阳
私信 提问
腾讯将于今年 12 月开源 msec 毫秒服务引擎

毫秒服务引擎(msec, 取英文名Mass Service Engine in Cluster的首字母组合)是腾讯的一个开源框架(将于12月左右开源),适用于在廉价机器组成的集群上开发和运营分布式后台服务。毫秒服务引...

红薯
2016/09/21
28
0
分布式后台服务引擎--msec

毫秒服务引擎(msec, 取英文名Mass Service Engine in Cluster的首字母组合)是腾讯的一个开源框架,适用于在廉价机器组成的集群上开发和运营分布式后台服务。毫秒服务引擎集RPC、名字发现服...

yao_yu
2016/09/21
10.2K
2
腾讯毫秒服务引擎 MSEC 于 12 月 2 日正式开源

毫秒服务引擎(MSEC, Mass Service Engine in Cluste)是腾讯的一个开源框架,适用于在廉价机器组成的集群上开发和运营分布式后台服务。该项目集RPC、名字发现服务、负载均衡、业务监控、灰度...

局长
2016/12/02
12.6K
43
tns load balance及master/slave使用模式和灰度发布

tns的两种模式 tns客户端tnsclient支持不同的使用模式,包括load balance、masterslave模式,接下来介绍不同模式的作用和设计原理 load balance 在集群模式中,一个请求过来后要通过某种策略...

book
2016/04/18
356
0
理想的互联网服务后台框架的九个要点

版权声明:本文由廖念波原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/146 来源:腾云阁 https://www.qcloud.com/community 理想的互联网服务后台框架...

偶素浅小浅
2016/11/06
23
0

没有更多内容

加载失败,请刷新页面

加载更多

家庭作业——苗钰婷

2 编写一个程序,发出一声警报,然后打印下面的文本: Startled by the sudden sound, Sally shouted, "By the Great Pumpkin, what was that! #include<stdio.h>int main(){......

OSC_Okruuv
33分钟前
5
0
经典系统设计面试题解析:如何设计TinyURL(一)

原文链接: https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
34分钟前
4
0
2.面向对象设计原则(7条)

开闭原则 开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 实现方法 可以通过“抽象约束、封装变化”来实...

Eappo_Geng
36分钟前
8
0
8086汇编基础 debug P命令 一步完成loop循环

    IDE : Masm for Windows 集成实验环境 2015     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   ......

志成就
40分钟前
7
0
使用nodeJS实现前端项目自动化之项目构建和文件合并

本文转载于:专业的前端网站➜使用nodeJS实现前端项目自动化之项目构建和文件合并 前面的话   一般地,我们使用构建工具来完成项目的自动化操作。本文主要介绍如何使用nodeJS来实现简单的项...

前端老手
54分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部