分布式系统的特点
-
Distributed systems should be relatively easy to
expand or scale
– independent computers is easy to add -
Distributed systems should normally be
continuously available
– Even if some parts may be temporarily out of
order
分布式算法
-
分布式算的子类型
-
没有一个机器能够完全知道所有信息
-
Machines make decisions based only on local
information, -
Failure of one machine does not ruin the
algorithm.
分布式系统的目标
-
它能让资源易于访问
-
访问远程资源
-
共享资源
-
合理的隐藏 资源在网络上是分布的事实
-
分布式透明(让使用的人尽可能不要感知到分布式系统的存在)
透明性
一个分布式系统应该让使用它的应用程序和用户感觉它是透明的,他们仿佛是在使用一台机器。
把一份资源复制很多份。一份被访问占用时,去访问其它复制的资源。
并发
透明性是不能完全被实现的,一定程度上合理的实现
-
网络本身的延迟
-
不要试图掩盖临时的服务器错误
-
变化不能被传播在数据被复制到所有地方之前
伸缩性(Scalability)
- Size scalability: 规模可以变大变小,根据实际情况伸缩
pitfalls(陷阱)
-
网络是可靠的
-
网络是安全的
-
The network is homogeneous.
-
The topology does not change.
-
Latency is zero
-
带宽无限
-
传输消耗为0
-
有一个管理员(一次)
Challenges
主要要研究的还是前5项
-
Performance 性能
-
Concurrency 并发
-
Transparency 透明
-
Failures
-
Scalability 伸缩性
-
Heterogeneity
-
Openness
-
Security
-
Multiplicity of ownership, authority、
-
Quality of service/user experience
-
System updates
-
Debugging
系统体系结构
- Cebtralized architectures
单独得一个中央服务器实现了大部分的功能,其它的客户端只是去访问中央服务器,这就是中央结构。