本文为个人学习笔记,整理摘录自陈皓在《极客时间》的专栏文章。
分布式大纲
一、 为什么需要使用分布式系统,而不是传统的单体架构?(主要下面两个原因)
-
增大系统容量。我们的业务量越来越大,而要能够应对越来越大的业务量,一台机器的性能已经无法满足。我们需要更多台计算机才能应对大规模的应用场景。所以,我们就需要垂直或者水平拆分业务系统,让其变成一个分布式的架构。
-
加强系统可用。我们的业务越来越关键,需要提高整个系统架构的可用性,也就意味着架构中不能够存在单点故障。这样,这个系统不会因为一台机器出故障而导致整体不可用。所以,需要通过分布式架构来冗余系统以消除单点故障,从而提高系统的可用性。
分布式的一些优势: 模块化、开发发布速度快、系统扩展性更高... ...
这世界上不存在完美的技术方案,任何技术方案都是“按下葫芦浮起瓢”,都是有失必有得,也就是说,分布式系统在消除上述问题的同时,也带来了其他问题。因此我们需要清楚地知道分布式系统带来的问题。
二、 分布式系统带来了的问题:单体架构与分布式服务架构的优缺点比较。
单体架构与分布式服务架构的优缺点比较.png三、解决了“单点”和“性能容量”问题,带来了难点在于系统设计、管理和运维。
分布式系统的发展
单体架构(高度耦合) → SOA (松耦合;中间件或协议:ESB;关联服务) → 微服务架构(更耦合,每个都能独立完整运行)
微服务的出现, 使得开发速度、部署快,隔离性高、系统扩展性好;但是在集成测试、运维和服务管理等方面就很麻烦。
所以就需要一套比较好的微服务PaaS平台。
关于微服务PaaS平台,我会在后面整理发布。
推荐阅读:IaaS、PaaS、SaaS的区别。
网友评论