阿里巴巴分布式

云原生时代|分布式系统设计知识图谱(内含22个知识点)

2019-09-27  本文已影响0人  阿里云云栖号

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

为什么要懂分布式架构

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

然后而分布式系统是一个很大的概念,从架构设计、研发流程、运维部署、工程效率等多个角度均有很深的知识可以挖掘,学习成本和难道相对较大。近期整理了过去阅读过的一些和分布式相关书刊和文章,加上自己做分布式开发的一些的心得分享给大家,本文作为开篇,总体上给出知识概览,后续将分篇结合代码实践来进行阐述。起草仓促,水平有限,欢迎大家一起学习指正。

分布式系统大图

一、设计

网关模式,Gateway

功能

设计要点

边车模式,Sidecar

价值

设计要点

服务网格,Service Mesh

新一代微服务架构,本质是服务间通信的基础设施层。

架构图

特点

主流框架

分布式锁

解决方案

设计要点

配置中心

异步通讯

幂等性

二、性能

分布式缓存

异步处理

数据库扩展

三、容错

系统可用性

服务降级

服务限流

熔断设计

补偿事务

四、DevOps

部署

配置管理

监控

CI与CD

五、工程效率

敏捷管理

持续集成

持续交付

写在最后

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

学习分布式系统设计也不是一蹴而就,需要不断汲取理论知识,然后将理论不断付诸实践,最终通过一次次的调优来将知识的价值最大化。笔者最后的建议是先理论、后实践、重实践、不妥协,所谓纸上得来终觉浅,绝知此事要躬行,与君共勉。



本文作者:一绿舟

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

上一篇下一篇

猜你喜欢

热点阅读