这是我参与「第五届青训营」伴学笔记创作活动的第7天
本文基于字节内部课+上网自学的内容。
架构在企业实践中扮演何种角色? 大规模的实践亟需完备的架构!!!
1.企业级后端架构
云计算
提供计算资源的服务网络(虚拟化技术——合租店面、编排方案——租赁平台)
其架构分四层:
IaaS(资源提供——房屋租赁平台)
PaaS(提供服务平台——装修全包)
SaaS(提供所需服务——雇佣熟练工)
FaaS(将函数执行放到线上——蛋糕机生产蛋糕)
云原生
弹性资源(虚拟化容器、可快速扩缩容)
DevOps(敏捷开发、运营相关)
微服务架构(各功能模块解耦、之间通信标准统一)
服务网格(异构系统治理统一)
弹性资源
- 服务资源
微服务(小组件、单一职责)、大服务(高使用量、大体量)
- 计算资源
在线资源(热门榜单展示)、离线资源(热门榜单更新、计算量大,放在线下)
- 消息队列
在线(大吞吐量:解决削峰、解耦的问题)、离线(大数据分析)
- 弹性存储资源
经典(对象、大数据)、关系型数据库(各种记录,有联系)、元数据(不大)、NoSQL(KV存储)
将存储当成服务一样
DevOps
贯穿开发周期的工具(后期有机会详述)
微服务架构
各服务之间的通信标准:HTTP、RPC标准等
那各种服务是否需要专门实现通信的方法呢?
duck不必,有通信的中间件来帮忙!
服务网格
微服务之间通信的中间层
优势:标准统一、与业务进程解耦,生命周期易于管理。
2.企业级架构面临的挑战
基础设施、
物理资源(机器设备有限、带宽有限制)
资源的利用率差别大(受制于部署的服务具体情况)
用户
网络通信开销很大
网络抖动影响运维成本
异构环境下,不同机器资源水位不均(生产厂商、批次的设备的水平不同)