分布式系统
分布式系统从当初的CORBA 到EJB,Web和SOA,从集群到现在的NoSQL 云计算和大数据Hadoop等分布式系统,横向水平扩展Scala out/in是分布式系统设计的一个特点,可靠性 容错性是两个质量指标。
什么是分布式系统?
- 一大批服务器组成一个集合,对于用户来说仍然是一个整体连贯系统。
- A. Tanenbaum定义:分布式网络的计算机中的组件之间协调动作是通过消息进行通讯。
- G. Coulouris定义:当你知道有一台电脑崩溃,但是你的软件运行从来不会停止。
- Leslie Lamport定义:分布式系统是这样系统:旨在支持应用程序和服务的开发,可以利用物理架构 由多个自治的处理元素,不共享主内存,但通过网络发送异步消息合作。
- 与分层应用区别:分层的应用程序(例如,3层)是 划分应用程序逻辑,是一种逻辑分层,而不是物理,而分布式系统DS是物理分层,和实际部署有关。
与传统集中式系统相比:
集中式系统是一种Scale out/in,纵向扩展,要么向上升级服务器到中大型机,要么升级多核,增加CPU核数,集中式纵向扩展适合计算聚合度比较高的数据,而分布式适合计算松散数据&