最完整的分布式架构设计图谱

我们身处于一个充斥着分布式系统解决方案的计算机时代,无论是支付宝、微信这样顶级流量产品、还是区块链、IOT 等热门概念、抑或如火如荼的容器生态技术如 Kubernetes,其背后的技术架构核心都离不开分布式系统。

为什么要懂分布式架构设计

系统学习分布式架构设计对于技术人的成长非常关键,对于云原生开发者而言如何设计出符合云原生设计哲学的应用,往往离不开分布式系统知识与方法论的运用。如何设计出高弹性、可配置、可分布、高性能、高容错、更安全、更韧性、快交付的云原生应用往往是衡量开发者水准的重要参考。

然而分布式系统是一个很大的概念,从架构设计、研发流程、运维部署、工程效率等多个角度均有很深的知识可以挖掘,学习成本和难度相对较大。

近期,我整理了过去阅读过的一些和分布式相关书刊和文章,加上自己做分布式开发的一些的心得分享给大家,本文作为开篇,总体上给出知识概览,后续将分篇结合代码实践来进行阐述。起草仓促,水平有限,欢迎大家一起学习指正。

分布式系统大图

在这里插入图片描述

一、设计

1、网关模式,Gateway

1)功能

在这里插入图片描述

2)设计要点

在这里插入图片描述

2、边车模式,Sidecar

1)价值

在这里插入图片描述

2)设计要点

在这里插入图片描述

3、服务网格,Service Mesh

新一代微服务架构,本质是服务间通信的基础设施层。
在这里插入图片描述

架构图(图片来源于网络,若有侵权请联系作者删除)

1)特点

在这里插入图片描述

2)主流框架

在这里插入图片描述

4、分布式锁

1)解决方案

在这里插入图片描述

2)设计要点

在这里插入图片描述

5、配置中心

在这里插入图片描述

6、异步通讯

在这里插入图片描述

7、幂等性

在这里插入图片描述

二、性能

1、分布式缓存

在这里插入图片描述

2、异步处理

在这里插入图片描述

3、数据库扩展

在这里插入图片描述

三、容错

1、系统可用性

在这里插入图片描述

2、服务降级

在这里插入图片描述

3、服务限流

1)限流目的

在这里插入图片描述

2)限流方式

在这里插入图片描述

3)解决方案

在这里插入图片描述

4)流控算法

在这里插入图片描述

5)设计要点

在这里插入图片描述

4、熔断设计

1)场景

在这里插入图片描述

2)三个状态

在这里插入图片描述

3)设计要点

在这里插入图片描述

5、补偿事务

在这里插入图片描述

四、DevOps

1、部署

1)基础设施

在这里插入图片描述

2)部署策略

在这里插入图片描述

2、配置管理

在这里插入图片描述

3、监控

在这里插入图片描述

4、CI 与 CD

五、工程效率

1、敏捷管理

在这里插入图片描述

2、持续集成

在这里插入图片描述

3、持续交付

总结及学习建议

分布式系统在阿里巴巴经济体有着广泛的应用,以笔者所在的弹性计算技术团队为例,当业务足够规模化后,最终面临的技术问题都是通过践行分布式系统架构的设计理念和方法论得以解决,可以说分布式系统架构的知识与方法论是当前互联网应用规模化后的通用解决方案。

学习分布式系统设计也不是一蹴而就,需要不断汲取理论知识,然后将理论不断付诸实践,最终通过一次次的调优来将知识的价值最大化。

笔者最后的建议是先理论、后实践、重实践、不妥协,所谓纸上得来终觉浅,绝知此事要躬行,与君共勉。

作者丨杨泽强(竹涧)

来源丨公众号:阿里巴巴云原生(ID:Alicloudnative)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值