微博cache混合云实践 · 微博cache混合云成果...

33
云上的春节 微博cache混合云实践 新浪微博 @我爱吃葱花xc

Upload: others

Post on 08-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

云上的春节微博cache混合云实践

新浪微博@我爱吃葱花xc

Page 2: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

自我介绍

Ø张欣

Ø我爱吃葱花xc

Ø微博DBA

Ø微博数据系统服务平台

Page 3: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

云上的春节微博cache混合云实践

新浪微博 @我爱吃葱花xc

Page 4: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

目录

微博业务及混合云背景1

Cache架构演进及 cache上云姿态2

Cache混合云平台设计与实现3

云上春节保障4

Page 5: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

Part 01微博业务及混合云背景

Page 6: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

微博后端规模

10亿用户、日活3亿

服务:Mysql、Nosql、大数据

服务器:5000+

数据:P级别、QPS:百万级

Page 7: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

微博后端挑战

Ø 春晚峰值流量应对

• 机架位不足,上千台服务器库存不足

• 千万级采购成本巨大

• 采购周期长,运行三个月只为一晚

Ø 王宝强娱乐事件等热点突发峰值应对

• 突发性强无预期、无准备

• PUSH常规化,短时间大量设备扩容需求

如何在短时间低成本情况下,快速扩容满足业务需求

Page 8: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

微博后端面临问题

项目评审设备申请

入CMDB装机上架

初始化 服务部署报修下架

常规服务扩缩容流程繁琐

如何快速扩容?

如何快速缩容?

如何提升资源利用

率?

如何降低成本?

Page 9: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

解决方案

成本

前端变更配置

扩展性

极端峰值

弹性快速扩缩容 混合云弹性调度可伸缩业务成本节省数倍

环境封装 Cacheservice 命名服务

Page 10: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

Part 02Cache架构演进及 cache上云姿态

Page 11: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

Cache架构演进

MC

Mc机房1主 Mc机房2主

Mc机房1主Mc机房2主

Master

Slave

Mc机房1主 Mc机房2主

Mc机房1主Mc机房2主

Master

Slave

MasterL1 Mc Mc Mc Mc

Mc机房1主 Mc机房2主

Mc机房1主Mc机房2主

Master

Slave

MasterL1 Mc Mc Mc Mc

SlaveL1 Mc机房n主 Mc机房n主

Page 12: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

上云架构-全云

web

MC Redis � M/S

web web web

Redis � S

云 内网

Page 13: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

上云架构-本地访问

MC Redis � S Redis M/S

web web web web

MC

云 内网

web web web web

Page 14: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

Cache上云架构

Mc机房1主 Mc机房2主

Mc机房1主Mc机房2主

Master

Slave

MasterL1 Mc Mc Mc Mc

SlaveL1 Mc机房3主 Mc机房3主

Mc机房3主

Mc机房3从

Mc Mc

Mc机房2主

Mc机房1主

Page 15: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

如何快速变更上线

client proxy

configServer

L1 L1

main

HA

L1 L1

main

HA

captain

configServerconfigServer

configServerconfigServerconfigServer

proxycache proxy

graphite

reqreq

Cacheservice

Page 16: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

后端资源扩容问题

Ø 自动匹配机器?

Ø 混布资源编排?

Ø 自动获取配置?

Ø 数据传输带宽?

Ø 执行可视化展示?

Page 17: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

Part 03Cache混合云平台设计与实现

warden

Page 18: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

Warden简介

Warden:

Ø 解决阿里云后端资源快速部署

Ø 弹性扩缩容的任务调度系统

快速响应热点事件和节假日业务高峰期对数据库缓存资源需求

Page 19: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

3.1 Warden架构

云ECS主机

Docker系列

Pluto系统

运维数据

监控数据

云部署

配置管理

容量系统

报警监控

高可用HA

版本其他..

基础功能API

工单系统 Dashbord 功能入口 Restful � API � 等

Meta � info功能

基础依赖层

UI � 层

Page 20: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

3.2Warden基础建设

Ø 隔离应用依赖

Ø 创建应用镜像并复制

Ø 创建容易分发的即启即用的应用

Ø 测试应用并随后销毁它们

宿主机(ecs)

网络模式(host)

版本(OS7.1/

1.6.2)

Page 21: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

Docker Registry

Page 22: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

云容器内服务性能

Redis TPS:8w+ � 

MC �  �  �  �  � TPS : � 10w+ � 

Ø 测试瓶颈:服务器PPS

Page 23: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

资产管理

Ø按需申请

ØBuffer独享

Ø核心业务隔离

设备

业务方

核心池

服务类型

内网

Page 24: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

资源申请工单

•资源工单申请,一键执行部署资源

Page 25: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

报警、高可用

报警/HA

case

Redis Mc

case … case case …报警项Ø 连接数Ø 实例存活Ø …..

Mc_HAØ 重启

报警项Ø 连接数Ø 实例存活Ø ReadonlyØ 内存Ø ……

Redis_HAØ 变更主从

关系Ø 调整相关

参数Ø 变更域名

Page 26: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

Part 04云上春节保障

Page 27: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

案例:让红包飞2017让红包飞约你嗨翻天(2016/12/29-2017/02/14)

12月29日-1月4日

明星红包疯狂抢,每天十点,微博迎新红包送不停!

1月5日-1月25日

小年欢乐大直播,小年夜晚八点,红包传送门盛大开启,嗨抢不停!

1月26日-2月4日

全明星红包抢不停,明星为你送上除夕夜的红包惊喜!

超HIGH红包传送门,除夕当晚八点起,每个整点准时相约!

2月8日-2月14日

甜蜜红包对对碰,甜蜜CP发红包,红包每日相约!

密令红包浪漫来袭,情人节搜索关键词,红包大奖等你拿!

Page 28: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

业务特性及需求

特性1、业务具有时效性(持续时间约1个月左右)2、集中抢红包,峰值突增

需求:1、QPS 50w+2、实例数:500+3、机器数:1000+

Page 29: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

扩容与缩容

Ø 批量注册服务器

Ø 批量启动实例(单实例秒级启动)

Ø 快速添加报警与HA

机器快速申请

机器划分资源池

按产品单元扩容

任务编排分发

并发部署完成扩容

域名上线加入报警

Page 30: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

获取机器

基础设施:Docker Registry、Ansible

初始化:Ansible、Registry依赖环境安装

预热镜像:镜像仓库预热

拉镜像:单容器432M

3min100台基础设施ECS创建

【日常】100台服务器初始化流程,总时间14分钟整点开始操作

3min阿里云建100机器

3min阿里云初始化

3min预热镜像

3min拉镜像操作

1minAnsible初始化

2minRegistry初始化

3min阿里云建100机器

3min阿里云初始化

3min拉镜像操作

【日常】每多100台多3分钟

3min容器启动

Page 31: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

实例自动分配

业务需求 资产管理

选取机器 分配算法 实例映射

标准:1、机器内存2、机器io3、机器负载4、部署端口

标准:1、机器状态2、业务产品线3、是否核心

业务评估

标准:1、业务场景2、服务性能

Page 32: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云

微博cache混合云成果

lcache混合云进展:

Ø容器数:3000+

Ø当天数十次扩缩容2016年元旦、春晚考验:

Ø跨云端动态扩缩容

Ø春晚峰值历史新高,两天内完成1375台阿里云

ECS扩容,实现无降级平滑过渡,高峰支持微博

50%主体流量。 Feed流、红包飞、手机微博不同

业务方均完成支持

微博平台58%红包飞

11%

手机微博23%

其他8%

主要业务方微博平台 红包飞 手机微博 其他

Page 33: 微博cache混合云实践 · 微博cache混合云成果 "cache混合云进展:!容器数:3000+!当天数十次扩缩容2016年元旦、春晚考验:!跨云端动态扩缩容!春晚峰值历史新高,两天内完成1375台阿里云