技术揭秘!百度 Geek 说年度优质技术干货合集
本合集收录了「百度 Geek 说」2021 年度优质的技术文章,均为百度各领域工程师的经验沉淀,有实际技术实践,也有对技术的未来思考,希望与各位技术人一起交流成长。
百度 Geek 说是隶属于百度旗下的官方技术号,创立初衷是为了“极客精神”,这里是百度技术展示台,这里有百度人对于技术极致的追求:" 专注技术,信仰技术,相信技术可以改变世界 "!欢迎各位持续关注~
1.百度 C++ 工程师的那些极限优化(内存篇)
在百度看似简简单单的界面后面,是遍布全国的各个数据中心里,运转着的海量 C++服务。如何提升性能,降低延时和成本就成了百度 C++工程师的必修功课。伴随着优化的深入攻坚,诞生并积累下来一系列的性能优化理论和方案,其中不乏一些冷门但精巧实用的经验和技巧。本文从内存访问角度,收集总结了一些具有通用意义的典型案例,分享出来和大家学习交流。
2.百度 C++ 工程师的那些极限优化(并发篇)
对于工程经验比较丰富的同学,并发应该也并不是陌生的概念了,但是每个人所理解的并发问题,却又往往并不统一,本文系统梳理了百度 C++工程师在进行并发优化时所作的工作。
3.百度搜索稳定性问题分析的故事(上)
百度搜索系统是百度历史最悠久、规模最大并且对其的使用已经植根在大家日常生活中的系统。坊间有一种有趣的做法:很多人通过打开百度搜索来验证自己的网络是不是通畅的。这种做法说明百度搜索系统在大家心目中是“稳定”的代表,且事实确是如此。百度搜索系统为什么具有如此高的可用性?背后使用了哪些技术?以往的技术文章鲜有介绍。
本文分为上下两篇,立足于大家所熟悉的百度搜索系统本身,为大家介绍其可用性治理中关于“稳定性问题分析”方面使用的精细技术,以历史为线索,介绍稳定性问题分析过程中的困厄之境、破局之道、创新之法。希望给读者带来一些启发,更希望能引起志同道合者的共鸣和探讨。
4.百度搜索稳定性问题分析的故事(下)
此为下篇,各位可以结合上篇一同观看。
5.百度 Feed 稳定性架构实践
百度 Feed 信息流推荐系统服务于手百、好看、全民、贴吧等公司绝大多数信息流业务场景,随着业务的高速发展,整个系统承载的流量已经高达数十亿,在庞大的流量规模背后是数百个微服务和数万台机器做支撑。如何保证整套系统对外的高可用性是整个系统能力建设的关键,也是我们团队的一个非常核心的工作方向。为了保障信息流推荐系统常态 5 个 9 的可用性目标, 本文将基于我们实际的工作经验分享介绍百度 Feed 在线推荐系统是如何建设高可用性架构的。
6.百度大规模 Service Mesh 落地实践
百度过去基于 rpc 框架的服务治理存在各种框架能力层次不齐、业务自身服务治理效率低、全局可观测性不足等诸多问题。本文介绍了百度内部落地 service mesh 的实践过程,以基础稳定性能力治理和流量调度治理能力为业务落地点,详细阐述了内部落地的 service mesh 整体技术方案以及一系列关键技术,如性能的极致优化、扩展的高级策略、周边服务治理系统等。
7.百度信息流和搜索业务中的弹性近线计算探索与应用
在生产环境的 PaaS 平台中,为了应对流量增长、负载尖峰、软硬件升级、大规模局部故障等,通常需要留有一定的资源冗余。百度信息流和搜索服务在全网提供超过 5 个 9 的可用性,为了应对极端情况,各个地域的 PaaS 集群在设计上都有一定资源冗余。此外,为了控制成本,业务迭代需要取得合理的投入产出比之后,才能正式上线推全。因此,我们结合推荐系统和搜索系统的业务特点,设计并实现了一套介于在线和离线之间的弹性近线计算架构。相比于在线计算,突破计算速度限制,为业务计算复杂度提供了更大空间;相比于离线批量计算,提供了时效性更强,稳定性更高的策略计算方式。
8.万象:百度的海量多媒体信息处理系统
与传统网页不同,富媒体数据的理解与处理相比于此前的网页会更难、更具有挑战。万象系统是百度搜索为了解决富媒体信息海量处理问题而设计和开发的系统,文中对万象系统进行了一次全面的总览介绍,万象系统目前在百度已经承接了搜索所需要的所有图片、视频数据的加工和处理,管理着超大量级的图片和视频实体特征数据,每天支持数十亿的处理吞吐,为百度产品的效果提升奠定了基础。
9.十亿级流量的搜索前端,是怎么做架构升级的?
前端发展飞速,从最开始的静态页面到 JavaScript,再从 PC 端到移动端,随着大前端的复杂度不断提升,很多公司开始前后端分离,剥离出前、后端架构设计。那我们来看看,前端架构设计是什么?曾经非常简单的前端架构发展到现在有哪些问题,遇到前端代码体量巨大、跨团队协作效率、代码耦合、技术栈落后等问题又该怎么解决?
10.百亿级流量的百度搜索中台,是怎么做可观测性建设的?
百度搜索中台系统不但承接了搜索的阿拉丁流量,也致力于构建各个垂直业务的搜索能力。随着业务的不断发展,系统的流量规模已经达到百亿级别。而在百亿流量的背后,是千级别的微服务模块和数十万的实例数量,如何保证这套复杂系统的高可用、高性能和高可控,全要素多维度的可观测性成为搜索中台系统能力的关键。
本文首先会介绍什么是可观测性以及云原生时代为什么更要关注可观测性,然后阐述搜索中台是如何以极低的机器成本打造百亿流量的实时指标监控(Metrics)、分布式追踪(Traces)、日志查询(Logs)和拓扑分析(Topos)。
11.百度信息流和搜索业务中的 KV 存储实践
近年来,云原生化、全用户态、软硬协同等技术对 KV 存储服务产生了巨大的影响,上述技术在极大提升了服务的性能和降低服务成本的同时,也对系统的架构和实现提出了新的要求。百度在信息流和搜索业务中大量使用了 KV 存储服务,服务每天响应近千亿次各类访问请求,如何运用上述技术提升系统的性能、稳定性和运维人效是我们重点考虑的问题。本文通过介绍我们应用上述技术打造高性能 KV 存储系统的实践过程,为大家分享了我们在单机性能优化,大规模集群设计、管理等方面的思路和实践经验。
12.趣谈哈希表优化:从规避 Hash 冲突到利⽤ Hash 冲突
本文从哈希表传统设计与解决思路入手,深入浅出地引出新的设计思路:从尽量规避哈希冲突,转向了利⽤合适的哈希冲突概率来优化计算和存储效率。新的哈希表设计表明 SIMD 指令的并⾏化处理能⼒的有效应⽤能⼤幅度提升哈希表对哈希冲突的容忍能⼒,进⽽提升查询的速度,并且能帮助哈希表进⾏极致的存储空间压缩。
13.百度商业大规模高性能全息日志检索技术揭秘
百度商业产品是服务于百度广告主用来投放广告而打造的产品生态。包含搜索推广、信息流推广、品牌等推广渠道以及观星盘、基木鱼等营销工具。
14.揭秘百度微服务监控:百度游戏服务监控的演进
作为一个程序员,是否有留意到每逢节假日在各大景区时有程序员打开电脑紧急处理线上问题?如果线上出现大量的报警,这时我们该如何判断是自身服务问题还是依赖服务问题?午夜线上重大问题出现,如何能够唤醒相关人员快速响应?相信这些问题对于很多同学都不陌生,监控的重要性不言而喻,那如何打造一个完善的监控系统,协助程序员发现并高效定位问题?本文将介绍百度游戏微服务监控实践,基于百度完善的监控基础实施,我们打造了较为完善的监控系统,下面我们向大家介绍我们的实践历程。
15.百家号在线视频编辑器的技术演进
随着移动互联网的发展,视频化浪潮借着 5G 的东风扑面而来。然而众多用户在进行视频化创作的过程中,被传统视频编辑器复杂的功能和陡峭的学习曲线劝退。为此,百度百家号业务研发团队结合用户的实际创作需求,开发出一款简单易用的在线视频编辑和发布工具——百家号在线视频编辑器。本文将细致地介绍这一编辑器的技术原理,架构和演进方向,并从一角揭示百度内部的技术合作与创新机制。
16.短视频个性化 Push 工程精进之路
短视频 Push 系统是一套支持百度内多款 app 及多业务场景的分布式 Push 系统,目前支撑着好看视频,直播,度小视,好看大字版等 app 的推送业务,提供基于用户基本特征的个性化推送,热门活动和热点事件的运营推送,基于关注关系或订阅关系的业务实时推送等场景的支持。旨在通过个性化推荐系统及运营编辑方式稳定高效的给用户通知栏消息推送自己喜欢的内容信息从而达到提高用户活跃度,提升用户留存的业务目标。
17.托管页前端异常监控与治理实战
随着业务快速迭代发展,系统对业务的监控、优化不再局限于行为、性能监控。前端异常监控更能反应用户端的真实体验。精细化的监控可以及时主动发现问题减少损失,针对性的分析治理甚至能带来业务增益。本文结合广告托管团队异常监控治理的经验,介绍从异常打点收集、报警监控、排查分析、治理优化的实战总结。
18.前端工程化之 H5 性能优化篇
从粗糙到精致,从简单到复杂,全球互联网 Web App(网页应用)平均体积已增压到 1.6Mb,随着音视频等富媒体内容的流量池膨胀,终端设备上的用户对网页装载速度尤其敏感。页面不能做到秒开,就会有大量用户选择离开。重视并改善网站性能,优化即时网页装载时间,加速即时网页在浏览器平台终端状态展现,进而可以带来网站流量增长。
本文源自百度直播研发部,提出了前端渐进增强的页面渲染方案,即“路由分离+预静态化+WebView 预创建”方案,来替代模板同步渲染方案,并采用工程化的方式将能力打包下沉赋能产品线。
19.详解支撑 7 亿用户搜索的百度图片处理收录中台
在百度搜索中,主要由“搜索在线”和“搜索离线”两部分构成,“在线”服务主要用于响应用户请求,“离线”服务则将各种来源的数据转换处理后送入“在线”服务中。“搜索离线”的数据处理是一个典型的海量数据批次/实时计算结合的场景。
20.文档内容结构化在百度文库的技术探索
简述百度文库关于各类文档的转码和展现历程,早期的版式数据满足了 PC 端的各类文档阅读体验,随着业务发展的需求迭代,无线端的文档阅读体验亟需提升。版式数据转流式数据过程中,简易的内容结构化满足了 pdf 数据在无线端的重排版。底层解析 ooxml 数据和细致的内容结构化,则带来了不错的 word 无线端重排版效果。从 chart 图片中“从无到有”抽取结构化的元数据,更为用户与文档的互动打开了想象空间。
评论