这是我参与「第六届青训营」伴学笔记创作活动的第 6 天,今天学习了微服务架构,现在就我学习到的知识进行总结。
本期目录
- 微服务架构概述
- 抖音架构分析
微服务架构概述
整体概述:微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。可以将其看作是在架构层次而非获取服务的类上应用很多SOLID原则
概念: 微服务架构把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。
定义: 围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。
本质: 用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。
抖音互联网架构概述
抖音互联网架构可以由以下几个部分组成:
用户端
抖音的用户端包括移动端应用(iOS 和 Android)以及Web端。移动端应用是主要的用户入口,提供了丰富的交互和创作功能,如拍摄、上传短视频,浏览和互动。
服务端
抖音的服务端采用微服务架构,将系统拆分为多个独立的服务,如用户服务、视频推荐服务、社交服务等。每个服务可以独立部署、扩展和维护,有利于团队协作和系统的可维护性。
数据存储
抖音的数据存储分为两部分:关系型数据库和分布式存储。关系型数据库用于存储用户信息、社交关系等结构化数据,常见的数据库如MySQL。而分布式存储用于存储海量的视频、图片等媒体数据,通常采用分布式文件系统如Hadoop HDFS。
内容推荐算法
抖音的核心价值在于个性化的内容推荐。其推荐算法基于用户行为、兴趣标签等数据进行实时计算。例如,使用协同过滤、深度学习等方法,为用户推荐最符合其兴趣的视频内容。
CDN 加速
为了提供低延迟的视频播放体验,抖音使用了CDN(内容分发网络)来加速视频内容的分发。CDN 可以根据用户位置,将内容分发至距离用户最近的节点,减少数据传输的延迟。
总结:通过学习了抖音的互联网架构分析,对互联网架构有了更新、更全的了解,并进行了实际操作