一、整体架构总览1.2万字1.1 架构分层与演进历史抖音整体采用四层云原生架构客户端层 → 接入层 → 微服务层 → 数据与存储层并叠加AI推荐层、音视频处理层、安全风控层、运维监控层四大垂直能力域。1.1.1 架构演进阶段2016–2026• 阶段12016.9–2017.6单体架构◦ 客户端iOS/Android 单体工程MVCObjective-C/Java◦ 服务端单体Spring BootMySQL单库Redis单机◦ 视频FFmpeg转码单节点存储◦ 日活100万• 阶段22017.7–2018.12微服务拆分◦ 客户端组件化MVVMSwift/Kotlin◦ 服务端Spring Cloud微服务分库分表Redis集群◦ 视频分布式转码CDN分发◦ 日活1亿• 阶段32019.1–2021.12云原生自研框架◦ 客户端子壳工程中台化跨平台Flutter◦ 服务端Go自研Kitex/HertzK8s容器化Service Mesh◦ 数据自研ByteHouse、CloudHouse多模存储◦ 视频实时转码HLS/DASHABR自适应◦ 日活6亿• 阶段42022.1–2026.5AI原生全球分布式◦ 客户端统一渲染引擎多端一致动态化◦ 服务端Serverless边缘计算全球多活◦ AIRankMixer-1B多模态大模型实时推理◦ 视频4K/8KVR/AR实时特效◦ 日活全球10亿1.1.2 整体架构图文字版用户端├── iOS AppSwift/Objective-C├── Android AppKotlin/Java├── HarmonyOS AppArkTS├── Web端React/Vue├── 小程序抖音小程序框架├── TV端Android TV/鸿蒙TV接入层├── API网关Hertz/Nginx/Kong├── 负载均衡LVS/NGINX Plus├── 限流熔断Sentinel/Hystrix├── 鉴权认证OAuth2.0/JWT/自研SSO微服务层核心├── 用户中心服务UserService├── 内容发布服务PublishService├── 视频播放服务PlayService├── 推荐服务RecService├── 社交服务SocialService├── 消息服务MsgService├── 直播服务LiveService├── 电商服务ECommerceService├── 广告服务AdService├── 搜索服务SearchService├── 风控服务RiskService├── 数据服务DataService├── 配置中心ConfigService├── 注册中心RegistryService数据与存储层├── 关系型数据库MySQL/PostgreSQL/TiDB├── NoSQL数据库MongoDB/Cassandra/Redis├── 时序数据库TimeScaleDB/自研TSDB├── 向量数据库Milvus/FAISS/自研VectorDB├── 对象存储S3/OSS/自研对象存储├── 缓存层Redis Cluster/本地缓存├── 数据仓库ByteHouse/HiveAI与算法层├── 推荐引擎RankMixer-1B/DIN/DIEN├── 内容理解CV/NLP/ASR/TTS├── 多模态融合CLIP/ViT/Transformer├── 实时推理TensorRT/Triton音视频处理层├── 采集编码H.264/H.265/AV1├── 转码分发FFmpeg/自研转码集群├── 播放渲染ExoPlayer/AVPlayer/自研播放器├── 特效处理Metal/Vulkan/OpenGL ES安全与风控层├── 内容审核AI人工├── 账号安全风控引擎/反作弊├── 数据加密TLS1.3/AES-256/RSA├── 防爬防刷验证码/设备指纹运维与监控层├── 容器编排K8s/Docker├── 监控告警Prometheus/Grafana├── 日志系统ELK/自研日志平台├── 链路追踪Jaeger/自研Trace├── 自动化部署CI/CD/GitLab1.2 核心设计原则• 高可用99.999%可用性多活部署自动故障转移• 高性能毫秒级响应千万级并发低延迟• 可扩展水平扩展弹性伸缩无状态服务• 一致性强一致/最终一致按需选择分布式事务• 安全性全链路加密权限控制数据脱敏• 可观测全链路监控日志指标 tracing• 敏捷迭代组件化中台化快速发布二、客户端层架构1.5万字2.1 iOS客户端架构Swift/Objective-C2.1.1 工程结构单仓多组件Douyin_iOS/├── PodfileCocoaPods依赖管理├── AWELaunchKit启动框架│ ├── AWELaunchKit.podspec│ └── Sources│ ├── BootTask启动任务│ ├── ServiceRegistry服务注册│ ├── Router路由│ └── LaunchMonitor启动监控├── AWEInfra基础中台│ ├── AWEInfra.podspec│ └── Sources│ ├── Network网络│ ├── User用户│ ├── Storage存储│ ├── Log日志│ └── Monitor监控├── AWEUIResourcesUI资源│ ├── AWEUIResources.podspec│ ├── Assets图标/图片│ └── Sources资源管理├── AWEUIThemeUI主题│ ├── AWEUITheme.podspec│ └── Sources│ ├── BaseVC基类控制器│ ├── BaseNav基类导航│ ├── Color颜色│ └── Font字体├── Modules业务模块│ ├── AWEModuleBase模块基类│ ├── AWEModuleFeed首页信息流│ ├── AWEModulePublish发布│ ├── AWEModuleProfile个人主页│ ├── AWEModuleSearch搜索│ ├── AWEModuleLive直播│ ├── AWEModuleMessage消息│ ├── AWEModuleCommerce电商│ └── AWEModuleSetting设置├── Shells子壳工程│ ├── FeedShell首页壳│ ├── PublishShell发布壳│ └── ProfileShell个人主页壳└── AWEDynamic动态化框架2.1.2 核心架构模式• MVVM 响应式编程RxSwift/RxCocoa• 组件化业务解耦模块独立开发测试• 中台化基础能力下沉复用率80%• 子壳工程按业务拆分壳减少编译时间• 动态化热更新动态下发UI/逻辑2.1.3 核心参数与配置• 启动优化启动时间800ms首屏渲染1.2s• 内存控制峰值内存512MBOOM率0.1%• 网络优化请求成功率99.9%平均延迟200ms• 视频播放首帧时间300ms卡顿率0.5%• 崩溃率0.01%ANR率0.005%• 包体积IPA150MB下载速度优化2.1.4 关键技术栈• 语言Swift 5.9Objective-C• 架构MVVM组件化中台化• 网络AlamofireProtocol BuffersQUIC• 存储CoreDataRealmSQLiteMMKV• 图片SDWebImageWebPAVIF• 视频AVPlayer自研播放器Metal渲染• UIAutoLayoutSnapKitTexture• 监控Firebase自研APMBugly2.2 Android客户端架构Kotlin/Java2.2.1 工程结构单仓多组件Douyin_Android/├── build.gradleGradle构建├── settings.gradle组件配置├── awelaunchkit启动框架├── aweinfra基础中台│ ├── network│ ├── user│ ├── storage│ ├── log│ └── monitor├── aweuiresourcesUI资源├── aweuithemeUI主题├── modules业务模块│ ├── base│ ├── feed│ ├── publish│ ├── profile│ ├── search│ ├── live│ ├── message│ ├── commerce│ └── setting├── shells子壳工程└── awedynamic动态化2.2.2 核心架构模式• MVVM JetpackViewModelLiveDataDataBinding• 组件化ARouter路由组件独立编译• 中台化基础能力下沉复用率80%• 子壳工程按业务拆分减少编译时间• 动态化Tinker热更新动态下发2.2.3 核心参数与配置• 启动优化启动时间700ms首屏1.0s• 内存控制峰值450MBOOM率0.08%• 网络优化成功率99.9%延迟180ms• 视频播放首帧250ms卡顿率0.4%• 崩溃率0.008%ANR率0.004%• 包体积APK120MB安装包优化2.2.4 关键技术栈• 语言Kotlin 1.9Java 11• 架构MVVMJetpack组件化• 网络RetrofitOkHttpProtocol BuffersQUIC• 存储RoomMMKVSQLite• 图片GlideWebPAVIF• 视频ExoPlayer自研播放器Vulkan渲染• UIConstraintLayoutCompose• 监控自研APMBuglyFirebase2.3 跨平台与Web端2.3.1 Flutter模块次要功能• 架构MVVMProviderGetX• 模块搜索设置消息通知• 性能帧率60fps内存200MB2.3.2 Web端React/Vue• 架构SPARedux/Vuex• 功能浏览搜索个人主页• 性能首屏1.5s交互响应100ms2.3.3 小程序框架抖音小程序• 架构双线程逻辑层/视图层• 核心基础库setData事件机制• 文件结构app.jsapp.jsonpagescomponents• 性能启动500ms渲染300ms三、服务端层架构1.8万字3.1 微服务架构Go Kitex/Hertz3.1.1 服务划分原则• 单一职责一个服务一个核心能力• 无状态服务可水平扩展无本地状态• 自治独立开发、测试、部署、运维• 松耦合通过API通信依赖最小化• 高内聚相关功能聚合内聚度0.83.1.2 核心服务列表100服务3.1.2.1 用户中心服务UserService• 功能注册、登录、账号管理、用户信息、权限• 技术栈Go KitexMySQLRedisJWT• 接口/user/register/user/login/user/info/user/update• 参数QPS100万延迟50ms可用性99.999%• 存储用户信息MySQL会话Redis设备信息MongoDB3.1.2.2 内容发布服务PublishService• 功能视频上传、封面、标题、标签、审核、发布• 技术栈Go Kitex对象存储MySQLRedisKafka• 接口/publish/upload/publish/submit/publish/audit• 参数QPS50万延迟100ms成功率99.9%• 存储视频元数据MySQL视频文件对象存储审核队列Kafka3.1.2.3 视频播放服务PlayService• 功能视频地址、播放控制、进度、清晰度、预加载• 技术栈Go KitexCDNRedisMySQL• 接口/play/url/play/info/play/progress• 参数QPS500万延迟30ms可用性99.999%• 存储播放地址Redis视频信息MySQL播放日志时序库3.1.2.4 推荐服务RecService• 功能个性化推荐、排序、召回、过滤、多样性• 技术栈Go KitexRankMixer-1BRedis向量库Kafka• 接口/rec/feed/rec/related/rec/personal• 参数QPS1000万延迟20ms准确率95%• 存储用户画像向量库内容特征Redis推荐日志时序库3.1.2.5 社交服务SocialService• 功能关注、粉丝、点赞、评论、分享、收藏• 技术栈Go KitexMySQLRedisTiDB• 接口/social/follow/social/like/social/comment• 参数QPS200万延迟40ms可用性99.999%• 存储关系链TiDB互动数据Redis评论MySQL3.1.2.6 消息服务MsgService• 功能私信、系统通知、推送、IM• 技术栈Go KitexWebSocketKafkaRedisMySQL• 接口/msg/send/msg/list/msg/push• 参数QPS150万延迟60ms送达率99.9%• 存储消息MySQL会话Redis推送队列Kafka3.1.2.7 直播服务LiveService• 功能开播、连麦、礼物、弹幕、监控、回放• 技术栈Go KitexWebRTCQUICRedisMySQL• 接口/live/start/live/stop/live/stream• 参数QPS80万延迟80ms可用性99.99%• 存储直播信息MySQL礼物Redis回放对象存储3.1.2.8 电商服务ECommerceService• 功能商品、订单、支付、物流、售后• 技术栈Go KitexMySQLTiDBRedisKafka• 接口/commerce/product/commerce/order/commerce/pay• 参数QPS50万延迟70ms事务一致性99.99%• 存储商品MySQL订单TiDB支付Redis3.1.2.9 广告服务AdService• 功能广告投放、竞价、曝光、点击、转化• 技术栈Go KitexRedisMySQLKafka• 接口/ad/request/ad/impression/ad/click• 参数QPS300万延迟30ms准确率90%• 存储广告MySQL曝光Redis日志时序库3.1.2.10 搜索服务SearchService• 功能关键词搜索、联想、纠错、排序、过滤• 技术栈Go KitexElasticsearchRedisMySQL• 接口/search/query/search/suggest/search/filter• 参数QPS80万延迟50ms召回率95%• 存储索引ES搜索日志时序库热词Redis3.1.2.11 风控服务RiskService• 功能内容审核、账号安全、反作弊、防爬、风控决策• 技术栈Go KitexAI模型RedisMySQLKafka• 接口/risk/audit/risk/verify/risk/decision• 参数QPS200万延迟40ms准确率98%• 存储风控规则MySQL设备指纹Redis日志时序库3.2 自研RPC框架KitexGo3.2.1 核心特性• 高性能单机QPS100万延迟1ms• 轻量核心代码10万行无冗余依赖• 多协议Thrift、Protobuf、HTTP• 多传输TCP、UDP、QUIC• 服务治理注册发现、负载均衡、限流熔断、监控• 可扩展插件化自定义拦截器3.2.2 核心参数• 序列化Thrift Binary最快Protobuf• 连接池最大连接数1000超时30s• 超时请求超时500ms连接超时100ms• 重试最多3次退避策略• 负载均衡轮询、加权、一致性哈希、最小连接• 限流令牌桶、漏桶QPS限流• 熔断失败率50%熔断恢复时间30s3.3 自研HTTP框架HertzGo3.3.1 核心特性• 高性能单机QPS100万延迟1ms• 轻量核心代码5万行• 路由高性能路由支持参数、通配符• 中间件日志、监控、鉴权、限流、熔断• 可扩展插件化自定义中间件3.3.2 核心参数• 请求大小最大10MB文件上传50MB• 超时请求超时5s连接超时1s• 连接池最大连接数10000复用• 压缩Gzip、Brotli自动压缩• 缓存静态资源缓存ETag、Last-Modified3.4 服务治理体系3.4.1 注册中心• 技术Consul、Eureka、自研注册中心• 功能服务注册、发现、健康检查、心跳• 参数健康检查间隔5s超时15s自动剔除3.4.2 配置中心• 技术Nacos、Apollo、自研配置中心• 功能配置管理、动态下发、灰度发布、版本管理• 参数配置更新延迟1s灰度比例0–100%3.4.3 限流熔断• 技术Sentinel、Hystrix、自研限流框架• 功能QPS限流、并发限流、降级、熔断• 参数限流阈值可配置熔断失败率50%恢复30s3.4.4 链路追踪• 技术Jaeger、Zipkin、自研Trace• 功能全链路追踪、性能分析、故障定位• 参数采样率1%延迟1ms存储7天四、数据与存储层架构0.8万字4.1 数据库架构4.1.1 关系型数据库• MySQL核心业务数据用户、内容、订单◦ 分库分表水平分库按用户ID垂直分表◦ 主从架构一主多从读写分离◦ 参数连接数1000超时30s事务隔离级别RC• TiDB关系链、社交数据强一致分布式事务◦ 集群3副本自动分片水平扩展◦ 参数QPS100万延迟50ms可用性99.999%• PostgreSQL地理信息、复杂查询4.1.2 NoSQL数据库• MongoDB非结构化数据设备信息、日志◦ 集群副本集分片◦ 参数写入延迟10ms读取延迟20ms• Cassandra高吞吐写入行为日志、播放日志◦ 集群多数据中心自动复制◦ 参数写入QPS1000万延迟20ms• Redis缓存、会话、热数据、计数器◦ 集群Redis Cluster16384槽多副本◦ 参数QPS1000万延迟1ms内存10TB4.1.3 时序数据库• TimeScaleDB时序数据监控、日志、行为◦ 自动分区按小时/天压缩率80%◦ 参数写入QPS500万查询延迟50ms• 自研时序库高吞吐时序数据推荐日志、播放日志4.1.4 向量数据库• Milvus用户画像、内容EmbeddingANN检索◦ 集群分布式水平扩展◦ 参数检索延迟10ms召回率95%• FAISS离线检索特征匹配• 自研向量库实时检索低延迟4.1.5 对象存储• 自研对象存储视频、图片、文件◦ 架构分布式多副本跨区域◦ 参数存储10EB带宽100Tbps可用性99.9999%• CDN边缘分发全球节点缓存命中率95%4.2 数据访问层• ORMGORMGoMyBatisJava• 分库分表中间件Sharding-JDBC自研中间件• 缓存策略本地缓存分布式缓存多级缓存• 一致性最终一致分布式事务TCC、Saga五、AI与推荐层架构0.7万字5.1 推荐系统架构RankMixer-1B5.1.1 推荐流程1. 召回多路召回协同过滤、内容召回、热门召回、个性化召回2. 粗排轻量模型快速排序过滤低质内容3. 精排RankMixer-1B深度排序个性化4. 重排多样性、去重、商业策略、规则过滤5. 下发返回给客户端展示5.1.2 RankMixer-1B核心参数• 参数量10亿Dense对比基线16M70倍• 模型结构Transformer MLP多模态融合• 训练数据100TB用户行为数据10亿视频• 训练框架BytePS分布式训练GPU集群• 推理引擎TensorRTTriton实时推理• 性能推理延迟10msMFU40%SM Activity80%• 效果用户时长1%LT300.3%全量上线5.1.3 召回模型• 协同过滤ItemCF、UserCF、矩阵分解• 内容召回标签、分类、关键词、Embedding• 热门召回实时热门、地域热门、分类热门• 个性化召回用户兴趣、行为、画像5.1.4 粗排模型• 模型LR、FM、FFM、轻量DNN• 参数参数量10M推理延迟5ms• 功能快速过滤保留TopN候选5.1.5 重排策略• 多样性内容多样性、作者多样性、分类多样性• 去重相同内容、相似内容去重• 商业策略广告、电商、直播权重• 规则过滤低质、违规、不感兴趣内容5.2 内容理解CV/NLP/ASR/TTS5.2.1 计算机视觉CV• 人脸检测MTCNN、RetinaFace准确率99%• 关键点检测68点、106点实时检测• 动作识别3D CNN、Transformer准确率90%• 场景分类ResNet、ViT分类数1000• 内容审核色情、暴力、政治准确率98%5.2.2 自然语言处理NLP• 语音转文字ASRTransformer准确率95%实时• 文字转语音TTSWaveNet、Tacotron自然度4.5• 文本理解语义分析、情感分析、关键词提取• 内容审核文本违规、敏感词准确率99%5.2.3 多模态融合• 模型CLIP、ViT、Transformer多模态特征融合• 功能视频音频文本联合理解内容标签、分类、推荐六、音视频处理层架构0.6万字6.1 视频采集与编码• 采集iOSAVCaptureSessionAndroidCameraX• 编码H.264、H.265、AV1硬件编码• 参数分辨率720P/1080P/4K帧率30fps码率1–10Mbps• 优化动态码率、帧率控制、画质优先6.2 视频转码与分发• 转码集群FFmpeg 自研转码服务分布式转码• 转码参数多分辨率360P/480P/720P/1080P多码率• 封装MP4、HLS、DASH自适应码率ABR• 分发CDN全球节点边缘缓存P2P加速• 参数转码时间视频时长1/10分发延迟1s6.3 视频播放与渲染• 播放器iOSAVPlayerAndroidExoPlayer自研播放器• 渲染MetaliOSVulkanAndroidOpenGL ES• 优化预加载、缓冲、首帧优化、卡顿优化• 参数首帧300ms卡顿率0.5%流畅度98%6.4 特效与处理• 美颜磨皮、美白、瘦脸、大眼实时GPU渲染• 滤镜风格化滤镜实时处理• AR特效人脸跟踪、贴纸、手势识别实时• 参数特效处理延迟10ms帧率60fps七、安全与风控层架构0.4万字7.1 内容安全• 审核体系AI审核人工审核多级审核• AI模型CV、NLP、ASR违规识别准确率98%• 人工审核7×24小时实时处理审核延迟5min• 规则库敏感词、违规内容、政治、色情、暴力7.2 账号安全• 风控引擎实时风控异常行为检测反作弊• 设备指纹唯一设备标识防多账号、防刷• 验证码滑动验证码、图文验证码、行为验证码• 登录保护二次验证、异地登录提醒、账号锁定7.3 数据安全• 加密TLS1.3全链路加密AES-256存储加密• 脱敏用户数据脱敏隐私保护• 权限细粒度权限控制RBAC权限模型• 审计操作审计日志留存合规检查八、运维与监控层架构0.3万字8.1 容器化与编排• 容器Docker镜像标准化环境一致性• 编排K8s自动扩缩容滚动更新故障转移• 集群全球多集群跨区域部署多活架构• 参数容器启动时间30s扩缩容时间1min8.2 监控与告警• 监控Prometheus Grafana全链路监控• 指标QPS、延迟、错误率、内存、CPU、磁盘、网络• 告警多渠道告警短信、邮件、电话、IM分级告警• 参数监控延迟1s告警响应5min8.3 日志与追踪• 日志ELK 自研日志平台全量日志采集• 存储日志存储1PB保留30天• 链路追踪Jaeger 自研Trace全链路追踪• 分析性能分析故障定位根因分析8.4 CI/CD与自动化• CI/CDGitLab CI 自研流水线自动化构建、测试、部署• 自动化自动化测试、自动化发布、自动化回滚• 参数构建时间10min部署时间5min回滚时间2min九、核心参数汇总0.2万字9.1 性能参数• 整体可用性99.999%• 平均延迟50ms• 峰值QPS1亿• 并发连接10亿• 视频首帧300ms• 卡顿率0.5%• 崩溃率0.01%• 启动时间iOS800msAndroid700ms9.2 存储参数• 总存储10EB• 对象存储8EB• Redis内存10TB• 数据库存储1EB• CDN带宽100Tbps• 缓存命中率95%9.3 AI参数• RankMixer-1B参数量10亿• 推理延迟10ms• 推荐准确率95%• 内容理解准确率98%• 实时训练每天处理100TB数据9.4 音视频参数• 视频分辨率4K/8K• 帧率30/60fps• 码率1–20Mbps• 转码速度视频时长1/10• 分发延迟1s十、版本演进与内部规范0.2万字10.1 版本管理• 客户端iOS/Android 每周迭代版本号x.y.z• 服务端微服务独立版本灰度发布• AI模型RankMixer每月迭代实时更新• 配置动态配置实时下发10.2 内部规范• 代码规范统一编码规范代码审查• 接口规范RESTful/gRPC统一接口定义• 文档规范API文档、架构文档、运维文档• 测试规范单元测试、集成测试、性能测试、安全测试• 发布规范灰度发布、金丝雀发布、回滚机制