字节跳动技术团队年度 TOP10 技术干货,陪你度过不平凡的 2020

avatar
@字节跳动

2020 注定是不平凡的一年,在这特殊的一年里,字节跳动技术团队依旧在技术人身边,分享字节跳动的技术实践。

本年度字节跳动技术团队共发布了50篇技术干货,其中许多都受到读者的喜爱。值此元旦佳节,我们精选出了其中最受大家欢迎的10 篇文章,供大家回顾,点击文章标题即可阅读全文​。

TOP 1:字节跳动混沌工程实践总结

#基础架构 #混沌工程

混沌工程是通过故障注入的方式帮助系统寻找薄弱点,从而提高系统的稳定性。随着微服务、云原生相关技术的发展,分布式系统已经流行在业界各处,但因此也带来了复杂度急剧上升、故障发生难以预测后果、难以避免与验证等挑战。而混沌工程正是通过故障注入等方式为切入点,帮助解决以上问题。本文讨论了字节跳动引入混沌工程以来的相关实践,希望能提供一些参考。

TOP 2:字节跳动自研万亿级图数据库 & 图计算实践

#基础架构 #图数据库 #ByteGraph

2019 年,Gartner 将图列为 2019 年十大数据和分析趋势之一,字节跳动在面对把海量内容推荐给海量用户的业务挑战中,也大量采用图技术。本文将对字节跳动自研的分布式图数据库和图计算专用引擎做深度解析和分享,展示新技术是如何解决业务问题,影响几亿互联网用户的产品体验。

TOP 3:今日头条品质优化 - 图文详情页秒开实践

#客户端 #性能优化

作为一个内容类应用,看新闻读资讯一直是头条用户的核心需求,页面的打开速度直接关系到用户使用头条的核心体验,在头条中,为了更多的承载足够丰富的样式和逻辑下保持多端体验的统一,详情页的内容我们是通过 WebView 来承载的,但 WebView 本身的性能相比 Native 来说比较差,因此,今日头条技术团队一直致力于优化详情页的加载速度。

经过不断的优化,目前今日头条中详情页在线上的打开体验,从肉眼上基本已经感知不到加载过程。在接下来这篇文章里,我们会逐步拆解和介绍我们对详情页加载优化的思路和实践。

TOP 4:“���”引发的线上事故

#Go #服务端

本文对一起依赖升级 + 异常数据引发的线上事故进行回顾和总结。得出如下反思:

  1. 服务重大版本更新,至少在线下跑一周。
  2. 有问题,第一时间回滚。
  3. 对于工具的使用要规范。如不要随意更改 vendor 文件夹的内容而不同步更新vendor.json文件,反之亦然。
  4. 因为go mod的版本选择以及不遵守开源规范的第三方库作者会让使用者不知不觉、被动地引入一些难以发现的问题。可以使用go mod vendor代替,如果要锁死版本的话,使用 replace。

TOP 5:iOS性能优化实践:头条抖音如何实现OOM崩溃率下降50%+

#客户端 #iOS #OOM

iOS OOM 崩溃在生产环境中的归因一直是困扰业界已久的疑难问题,字节跳动旗下的头条、抖音等产品也面临同样的问题。

在字节跳动性能与稳定性保障团队的研发实践中,我们自研了一款基于内存快照技术并且可应用于生产环境中的 OOM 归因方案——线上 Memory Graph。基于此方案,3 个月内头条抖音 OOM 崩溃率下降 50%+。

本文主要分享下该解决方案的技术背景,技术原理以及使用方式,旨在为这个疑难问题提供一种新的解决思路。

TOP 6:字节跳动在 Go 网络库上的实践

#Go #基础架构

RPC 框架作为研发体系中重要的一环,承载了几乎所有的服务流量。本文将简单介绍字节跳动自研网络库 netpoll 的设计及实践;以及实际遇到的问题和解决思路,希望能为大家提供一些参考。

TOP 7:YARN 在字节跳动的优化与实践

#YARN #基础架构

本文从利用率提升、多负载场景优化、稳定性提升、异地多活四个方面介绍了字节跳动在四年来对 Hadoop YARN 进行的一系列的优化,以及生产环境中的实践经验。

TOP 8:Fastbot:行进中的智能 Monkey

#测试 Fastbot

字节自研测试工具 Fastbot,是基于模型的智能 GUI 测试服务。我们分拆服务至客户端和服务端,客户端做 GUI 监听和动作注入,服务端做模型构建和算法决策,使用强化学习研发多种智能搜索算法,有效避免 GUI 测试局部死循环问题,大幅提升测试覆盖率。

TOP 9:抖音包大小优化-资源优化

#Android #性能优化 #包大小

随着业务的快速迭代,抖音 Android 端的包大小爆发式增长。包大小直接影响到下载转化率、推广成本、运行内存和安装时间等因素,因此对 apk 进行瘦身是一件很有必要且收益很大的事情。apk 主要由 dex、resource、asserts、native libraries 和 meta-data 组成,针对每一部分,都可以专项去做包大小优化。

其中,资源在 apk 包体积中占比很大,针对资源进行优化是包大小优化中很重要的部分。本着追求极致的原则,本文详细阐述抖音 Android 端针对资源部分的优化措施。

TOP 10:抖音 Android 性能优化系列:Java 内存优化篇

#Android #性能优化 #JAVA #OOM

内存作为计算机程序运行最重要的资源之一,需要运行过程中做到合理的资源分配与回收,不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏,重则导致用户应用程序发生 OOM(out of memory)崩溃。抖音作为一款用户使用广泛的产品,需要在各种机器资源上保持优秀的流畅性和稳定性,内存优化是必须要重视的环节。

本文从抖音 Java OOM 内存优化的治理实践出发,尝试给大家分享一下抖音团队关于 Java 内存优化中的一些思考,包括工具建设、优化方法论。


欢迎关注「 字节跳动技术团队

简历投递联系邮箱「 tech@bytedance.com