定义
是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计
通俗来说,架构在实现方法软件的方法选择上有重要作用
企业级后端架构剖析
云计算
通过软件自动化管理,提供计算机资源的服务网络,是现代互联网大规模熟悉分析和存储的基石
云原生
云原生技术为组织在公有云、自由云、混合云等新型的动态环境中,构建和运行可弹性拓展的应用提供了可能
- 弹性计算资源
服务资源调度:微服务、大服务
计算资源调度:在线、离线
消息队列:在线、离线 - 弹性存储资源
经典:对象、大数据
关系型数据库
元数据DevOps:结合自动化流程,提高软件开发、支付效率 - 微服务架构
通信标准:HTTP、RPC - 服务网络
微服务之间通讯的中间层、高性能网络代理、业务代码与治理解耦
企业级后端架构的挑战
问题
基础设施层面
物理资源有限(机器、带宽)、资源利用率受制于部署服务
用户层面
网络通信开销较大、网络抖动导致运维成本提高、异构环境下不同示例资源水位不均
解决方法
- 离在线资源并池
降低物理资源成本、提供更多的弹性资源、增加收入 - 自动扩缩容
降低业务成本 - 微服务亲合性部署
降低业务成本、提高服务可用性 - 流量治理
提高微服务调用容错性、容灾、进一步提高开发效率、DevOps发挥到极致 - CPU水位负载均衡
打平异构环境算力差异、为自动扩容缩容提供正向输入
后端架构实战
问题提炼
服务网络数据面支持带权重的负载均衡策略
注册中心存储了所有容器的权重信息
宿主机能提供容器的资源使用情况、物理资源信息
方案
采集宿主机物理资源信息、调整容器注册的权重