1. 分布式架构设计理论
学习Zookeeper之前,我们需要掌握一些分布式系统基础知识:了解分布式系统的概念、原理。
配置管理 域名服务 分布式同步 发布订阅
1. 分布式架构介绍
1.1 什么是分布式
《分布式系统原理和范型》一书中是这样定义分布式系统的:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统”。
-
分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。
1.2 分布式与集群的区别
-
集群: 多个服务器做同一个事情
1.3 分布式系统特性
分布式系统:
-
一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统这是分布式系统.
-
在不同的硬件,不同的软件,不同的网络,不同的计算机上,仅仅通过消息来进行通讯与协调, 这是他的特点,更细致的看这些特点又可以有:分布性、对等性、并发性、缺乏全局时钟、故障随时会发生。
-
分布性:分布式系统中的计算机在空间上是随机分布的,比如服务器可以位于不同的城市,不同的机房
-
对等性:组成分布式系统的所有节点都是对等的,没有逻辑上的主从之分
-
并发性:同一个分布式系统的多个节点可能会并行的操作一些共享资源,比如操作数据库
-
缺乏全局时钟:节点之间的通信延迟和时钟差异,导致不同服务器节点的时钟有差异(可以通过调用时间服务器等方式解决)
-
故障容忍性:分布式系统任何的计算机节点,都有可能在某一个时刻突然崩掉了。这个时候就需要有故障容忍性,比如分布式集群,等方式处理。
-
处理单点故障:避免出现一个功能只有一台计算机支持的情况
-