架构
1 架构的定义
架构,又称软件架构是有关软件整体结构与组件的抽象描述用于指导软件系统各个方面的设计
实现一个软件有很多种方法,架构在方法选择上起着至关重要的指导作用
TIPS:架构就是地基,地基没打好,大厦容易倒,地基坚实了,大厦才能盖的高,站在巨人肩膀上,才能看得远
架构的演进初衷:好比做蛋糕需求量越来越大,终归要增加人手越做越复杂,终归要分工合作
架构的演进思路:就像切蛋糕。蛋糕越来越大,一口吃不下终归要切分
竖着切(垂直切分)
横着切(水平切分)
2 企业级后端架构剖析
云计算: 是指通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模熟悉分析和存储的基石 基础:虚拟化技术 - 整租 vs 合租编排方案 - 业主 vs 赁平台
架构:
laaS(lnfrastructure as a Service 买房子 vs 房屋租赁平台PaaS (Platform as a Service) 清包 vs 全包
SaaS (Software as a Service) 从零培训 vs 雇佣培训过的师傅
FaaS (Function as a Service) 纯手工制作 vs 蛋糕机批量生产
3 企业级后端架构的挑战
挑战:
基础设施层面物理资源是有限的机器
带宽资源利用率受制于部署服务用户层面
网络通信开销较大
网络抖动导致运维成本提高异构环境下,不同实例资源水位不均
核心收益
降低物理资源成本
提供更多的弹性资源,增加收入解决思路:离在线资源并池
在线业务的特点
密集型为主0潮汐性、实时性离线业务的特点计算密集型占多数
非实时性
TIPS
1,没有最好的架构,只有最合适的架构
2.如何做架构设计
需求先行。弄清楚要解决什么问题
业界调研。业界都有哪些解决方案可供参考技术选型。内部/社区都有哪些基础组件
异常情况。考虑清楚 xxx 不行了怎么办
架构与工程师成长
技术经理
架构师