为什么要使用分布式架构?分布式架构解决了互联网应用的两大难题:高并发和高可用。高并发指服务器并发处理客户端请求的数量大,而高可用指后端服务能始终处于可用状态。
提高系统容量
随着业务越来越复杂,服务也会变得越来越复杂,单台机器的CPU、内存已经无法满足部署一个庞大系统的性能要求。当然可以通过提高系统配置暂时解决问题,但是不管如何提高系统的配置,单台机器总会达到性能瓶颈的时候,所以需要多台机器才能应对这些扩张的功能。通过水平(加机器)和垂直(拆分为多个子系统)拆分系统,变成了一个分布式架构。
解决单点故障
在单台机器上部署服务,如果机器出现故障导致服务挂了,那么整个系统就会崩溃了。因此就要提高系统的可用性,系统的高可用性意味着一群服务器运行时与单台机器运行时没区别。这意味着要解决系统架构中的单点故障问题,通过引入分布式架构来增加冗余,从而提高系统的可用性,即使单台机器挂了也能保证服务正常运作。
基于上面两个原因,我们就需要分布式系统来解决系统容量不足和系统高可用问题。
虽然上边说了这么多,但是如何进行系统的学习分布式仍旧是一个不小的难题,基于这些原因,老师在这里为大家分享一份阿里巴巴的分布式学习手册!
整套内部学习手册分为了六个学习部分:协调与同步、资源管理与负载调度、计算机技术、通信技术、数据存储、高可靠!
协调与同步
-
分布式互斥
-
分布式选举
-
分布式共识
-
分布式事务
-
分布式锁
-
分布式技术是如何引爆人工智能的?
资源管理与负载调度
-
分布式体系结构:集中式结构
-
分布式体系结构:非集中式结构
-
分布式调度架构:单体调度
-
分布式调度架构:两层调度
-
分布式调度架构:共享状态调度
-
分布式事务与分布式锁的相关问题
计算技术
-
分布式计算模式:MR
-
分布式计算模式:Stream
-
分布式计算模式:Actor
-
分布式计算模式:流水线
通信技术
-
分布式通信:远程调用
-
分布式通信:发布订阅
-
分布式通信:消息队列
-
分布式体系架构与分布式计算相关问题
数据存储
-
CAP理论
-
分布式数据存储系统:三要素
-
数据分布方式:哈希与一致性哈希
-
分布式数据复制技术
-
分布式数据:缓存技术
高可靠
-
分布式高可靠:负载均衡
-
分布式高可靠:流量控制
-
分布式高可用:故障隔离
-
分布式高可用:故障恢复
-
如何判断并解决网络分区的问题?