超大规模系统架构设计的一般原则(最佳实践)


内容来自2015云栖大会·广东峰会·企业级互联网架构分会现场,

阿里巴巴中间件架构师团队钟华老师分享的干货,

内容比较充实,匆忙间只记录了部分内容,

图均为模仿,需要手机拍下来的原文请留邮箱。


一、尽可能拆分

·更好的独立扩展与伸缩

·更灵活的部署

·隔离错误

问题:数据库能力达到上限,太多的应用机器,有限的连接池,连接数捉襟见肘


二、去中心化,线性扩展

·服务能力线性扩展

·无业务单点

超大规模系统架构设计的一般原则(最佳实践)_第1张图片


三、异步化,最终一致(异步一切可以异步的)

·利用异步机制拆分事务

·系统应用尽量无状态化

·确保系统最终一致

·特征

流程异步化

去锁

并行

最终一致

·优势

降低延迟,提升用户体验

系统解耦合,提升开发效率

部分替代分布式事务功能

超大规模系统架构设计的一般原则(最佳实践)_第2张图片


四、数据化运营

·服务运行实时监控,数据积累可视化

·数据积累提供系统的优化基础

超大规模系统架构设计的一般原则(最佳实践)_第3张图片



五、尽可能自动化

·更容易的伸缩

·更快的环境调整

·更低的运维代价

·更好的可管理性

·特征

运维标准规范和平台化

弹性伸缩自动化

部署自动化

故障处理自动化

·优势

云计算的基本属性

人不能随着机器增加而增加

超大规模系统架构设计的一般原则(最佳实践)_第4张图片


六、尽可能使用成熟组件(越下层的系统,越需要稳定)

·经过实际生产环境中证明过的成熟组件

·用户量翻倍,系统构建难度也会翻倍

·特征

选择被广泛使用的产品

比您业务规模和复杂程度更高的系统验证过的产品

选择经过4~6年左右的稳定期的软件

·优势

保证项目按期交付

保证项目上线后的系统稳定

出现问题以后有充分的掌控力


互联网的本质之一 : 开放

ps:看到此文的请自行发散思维


你可能感兴趣的:(超大规模系统架构设计的一般原则(最佳实践))