目录
第一章 分布式概念
1.1 什么是分布式
- 《分布式系统原理与范型》定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”。
- 分布式系统(distributed system)是建立在网络之上的软件系统。
1.2 分布式与集群的关系
- 集群指的是将几台服务器集中在一起,实现同一业务。
- 分布式中的每一个服务节点,都可以做集群。 而集群并不一定就是分布式的。
- 分布式主要是体现在服务之间存在通信(调用),而集群部署的应用是用来水平扩展的,为同一业务逻辑,不存在通信。可以理解为在分布式系统中,出现的是集群与集群之间的远程调用(如用户模块集群调用支付模块集群)
每一个节点都必须要做集群
1.3 软件架构演变
单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。 |
垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。 |
分布式服务架构 当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键< |