最开始提到会议地点在中关村时,我还没反应过来,到了现场后才发现,这不是大计基老师曾带我们来参观过吗——还记得当时在园区里走了半天累得脚痛。

会议开始是10点,在外面用手机签到,进去后发现有9成以上的位置都有人坐着了,随便在后排找了个位置,开始看暖(zi)场(chui)视频

1. 开场

主持人简单介绍了下,就开始了。本次会议的主题是春晚红包场景的下各种问题的解决方案。

首先开场自吹一波中国技术人员的两个共识

  • 百度是一家以技术为导向的公司
  • 百度的技术在国内最强(阿里/腾讯/头条: ???)

然后回顾往昔,讲了下2005年的时候,贴吧当时还是围绕《超级女声》的讨论贴特别火。那是的贴吧实现代码都是C写的,顺便悼念了下自己学生时代的ASP。

接下来讲了下春晚红包的互动次数208亿,扩容能在分钟级别1内部署完毕,为了确保春晚抢红包如丝般顺滑的体验采取了以下应对措施

  • 点击路径的优化
  • 技术积累
  • 工程保障

2. 架构优化与设计

需求:承载极端TPS 每秒千万

巨型化方案 VS SET化方案2

采用后者,优点是可以防止故障扩散,并且将巨型的分布式系统分化成多个大型分布式系统

异步消息队列 VS 同步实时读写

用户抢到红包需要立刻查看自己的金额,因而为了确保用户如丝般顺滑的(冷笑话不会因为重复次数变多而更加好笑)体验,采用后者,同时使用记录日志的方式确保数据不会被遗失

其他要点将在后面分别细讲

  • 视频搜索
  • 小程序的预加载降低了CDN的压力
  • 登录和Session的保持
  • 多重校验机制
  • 统一接入层(BFE)入口

压测

  • 全链路 入口全
  • 全要素 通盘考虑所有情况
  • 内测/预案/演练

拦截黑产2.6亿次防止自己被薅羊毛

3 统一前端入口 (Baidu Front End, BFD)

编程语言的选择:全球先进的go语言(说到了至少三次),而不是C with Nginx,确保了高效的开发效率

支持多种协议3

  • HTTP
  • HTTPS
  • HTTP2
  • QUIC

为什么使用统一的前端入口接入

  • 网络资源的统一管理
  • 功能的统一开发
  • 方便流量过滤逻辑上移
  • 平台化的趋势

讲完这个已经11:00了,不知道是不是因为超时了,讲的特别快,内容也没有想象的丰富。

4. 极端并发下的数据库解决方案

如果你仔细阅读这一页 ppt 的标题时,你会发现汉字顺序的并影响不阅读

容灾采用的是南北双数据中心

当负载过高时使用柔性降级

对流量做标记和画像

这部分讲解的比较宽泛,只是大致提了下要点,没有详细到技术细节。台下这时候大概都觉得累了,掌声没有之前那么响了

5. 弹性部署和资源调度

讲的是如何精打细算利用手头的计算资源,就是春晚抢红包时把其他不重要的业务降级,腾出资源。

服务器混合部署,将集群划分为三类,在线/离线/备用。

6. 媒体在云平台上的解决方案

难点在于2000PB+的图片视频的转码和分发

灰度上线

7. 研发效率

1月6日启动,1月30日开发完成

具体可以参考百度工程能力白皮书

程序员压力也不大吗.jpg 虽然这位做的是产品效率方面的

8. 压测攻防

听到这我实在时没力气记录了,东西收拾好准备跑路

X. 小结和疑问

吐槽

  • 干货少,感觉有意淡化技术名词的出现,只是将大概的思路却不具体剖析实践过程,“技术开放日”名不副实
  • 思路类似,太阳底下没有新鲜事
  • 无互动,本来还期待能有提问环节的,这种讲座没有提问到最后真是听的人昏昏欲睡
  • 不给发PPT,PPT的配色实在时不敢恭维,深蓝色背景加LOGO,丑到爆炸
  • 座位后边有一瓶水,本来自己的水喝完了口渴准备拆开了的,结果发现划痕明显,定睛一看没有生产日期,立刻不敢喝了

想问的问题

  • 如何确保拦截的是黑产而不是普通用户,判断标准是什么?

  • 怎么实现的柔性降级?

  • 为什么能在1分钟内扩容后台服务,这里包括服务启动的时间吗?

总体而言感觉一般般,逼格无法匹配其业界体量(或者说本来就不想具体说明技术细节)


  1. 1.2022年,部署在 Kubernetes 上的无状态服务可以在几秒内扩容完成
  2. 2.2022年,部署在 Kubernetes 上的无状态服务可以轻松地通过控制副本数量完成水平扩容
  3. 3.这有三个都是基于HTTP的好吧