2018微博内部技术分享春晚专场

技术点摘要

这是公司内部分享的各部门春晚保障的技术分享。我将其中的和公司隐私相关的数据删除了,只保留了技术的介绍,总结了一些知识点。

Tim开场白。

双十一、微信红包和微博的区别(无法预期)。

三条军规。

孟兆飞 混合云架构下微博春晚保障

流量

  • 突发流量: 日常、异常
  • 春晚
  • 央视合作

万台扩容挑战

  • 联路长
  • 依赖多
  • 高并发

15分钟1000台全公司随时随地

自动化

  • 智能弹性
  • 混合云平台
  • 监控信息
  • 容量评估

双仓库(公司内网、阿里云)

高可用

传统扩容,由于资源限制会失败

优化扩容:基于多种策略

DCP高可用双机房

春节保障

春节X台扩容、云上X台
流量监控

DNS问题、扩容 (16台支持万台client) UDP session?

全链路压测。演练。共享池。重点监控。

熊超 让红包飞春晚55万qps解决方案

超预期

战队红包

业务

满N万开奖

  • 瞬间QPS高
  • 参与人数越多,开奖越快
  • 瞬间开奖
  • 参与规则复杂,单次参与动作资源交互次数10+

实现

5台扫描, 扔队列, 30台队列机, 64组redis, 发奖发私信等

前端: 缓存、不可缓存

红包雨

业务

3次机会,10分钟任意点

  • 参与用户多
  • 拼手速、qps 55万
  • 每次点击都有请求
  • 中出数量巨大, 5次红包雨1.6亿

实现

  • 传送门 检查用户等,加密防刷、垃圾用户过滤、入口处错峰
  • 抽奖: 特别快的请求、根据用户区分奖项
  • 中出
  • 队列机

优化

  • 代码: 重复资源链接重用、耗时步骤优化、根据日志
  • DBA: 监控平台

压测评估

温情 陈新伍 春节百万答题

两三周紧急开发。

背景

大家都在做,拉新拉活。

产品经理介绍这个产品。

技术挑战

  • 快速扩所容
  • 快速下发push设计

简介

  • 视频流
  • 消息互动
  • 问答

发题阶段 -> 答题阶段 -> 颁奖阶段

技术挑战

  • 消息实时性
  • 同步答题、实时到达率

  • 每秒千万推送

  • 百万在线

长连推送

  • 百万长连接
  • 水平弹性伸缩

    • 无状态服务
    • 减少资源的依赖
  • 消息分发队列: Reids的PubSub (apiServer -> redis)

问答服务

  • 上行: 接口https
  • 下行方案:
    • 互动消息下发
    • 轮训 (西瓜视频)
    • 加入房间时全量下发(容易漏题)
    • 视频流(SEI)下发(丢包)

微博方案: 1为主,2为辅

发题方案:

  • Push+ACK: 有条件重传
  • Push + Push: 无条件重传

轮训:长链接断后自动重连降级

发题设计:根据服务器NTP, 题目和视频校准同时弹出

答题阶段

  • 客户端答题服务器判题
  • 复活
  • 答题结果推送
  • 答题汇总
  • 汇总推送

10万级别的qps

判题方案:

  • 异步判题
  • 随机重试机制

服务压测

  • 第一场就全量push,无灰度
  • 峰值速度快,第一题为峰值
  • 百万用户

关里 微博搜索架构

架构

trigger -> 数据转换 -> 预处理 -> 数据分发 --> 索引库

各种检索模块

热点爆发白页

数据分层:优质、筛选、全量

自动扩容、自动降级

1000多亿次数据需要索引

单机7、8亿

朱伟 支撑百亿级请求的微博广告运维技术实践

运维在微博广告体系中的价值。

人工 -> 工具 -> DevOps -> AiOps

  • 监控: 数据采集、清洗、存储。Filebeat -> kafka -> OLS -> Druid, kafka -> graphite, kafka -> logstash -> ES, 多存储graphite,druid,ES, clickhouse