集中式

与分布式对应的,就是集中式。
集中式就是把项目都存放在一个服务器中,虽然部署比较简单,但是如果出现故障,整个服务都将不可用。而且也不利于扩容,这才有了后面分布式的发展。

分布式

分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。所以分布式系统上的计算机没有空间上的限制,可以存放不同的机柜、不同的机房、甚至不同的城市中。
分布式具有以下的特点:

  • 分布性:分布式系统的计算机在任意的空间上随意分布,而且可以随时变动分布的情况
  • 并发性:分布式系统的多个节点,可能同一时间访问同一个共享资源,比如数据库、文件
  • 无序性:我们在java中启动了两个线程,执行的顺序是不能保证的,同样的,分布式进程间的通信,顺序也是难以保证的。

由于分布式直接的通信是通过网络的,所以网络的延迟、故障、抖动,都会对分布式系统有影响。当然,某个节点的故障也是有影响的。

  • 通信异常:由于电缆、路由器等硬件,导致的网络不可用,或者网络传输过程中不可避免的延迟,导致消息发送的丢失、延迟。
  • 网络分区(脑裂):比如分布式系统由上海北京两个地方的节点组成,由于网络原因,两地的延迟不断加大,互相之间不能通信,而上海地区自己的N个节点可以互相通信,北京地区自己的M个节点可以互相通信,上海和北京自己内部有了自己的小集群,完成了之前分布式系统完成的功能。
  • 三态:在单机系统中的调用,要么成功,要么失败。在分布式系统中,则多了一个状态,也就是超时。当A系统发消息给B系统时,可能消息就丢失了,也有可能,B系统收到消息后,回应消息给A系统,这个时候消息丢失了。

大军
847 声望183 粉丝

学而不思则罔,思而不学则殆


« 上一篇
原来这就是RMI
下一篇 »
浅谈ACID