关于分布式系统的一些学习心得-笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38500014/article/details/79169483

分布式系统(distributed system)是建立在网络之上的软件系统。处理各项协助的任务,然后整合出结果

分布式系统是一个复杂且宽泛的研究领域,学习分布式系统通常要从两个方面来入手

1. 近些年分布式系统领域都在做些什么。
2. 为什么现在投入分布式系统的学习和研究是值得的。


总的来说,分布式系统要做的任务就是把多台机器有机的组合、连接起来,让其协同完成一件任务,可以是计算任务,也可以是存储任务,首先我们可以发现分布式分为三个方面

1. 分布式存储系统
2. 分布式计算系统
3. 分布式管理系统


应用和标准:
并行和高性能应用:原则上,并行应用也可以在共享存储器多处理机上运行,但共享存储器系统不能很好地扩大规模以包括大量的处理机。HPCC(高性能计算和通信)应用一般需要一个可伸缩的设计,这种设计取决于分布式处理。


容错应用:因为每个P E是自治的,所以分布式系统更加可靠。一个单元或资源(软件或硬件)的故障不影响其他资源的正常功能。


固有的分布式应用:许多应用是固有分布式的。这些应用是突发模式(burstmode)而非批量模式(bulk mode)。这方面的实例有事务处理和Internet Java,程序。


同集中式系统相比较,分布式系统的另一个潜在的优势在于它的高可靠性。通过把工作负载分散到众多的机器上,单个芯片故障最多只会使一台机器停机,而其它机器不会受任何影响。理想条件下,某一时刻如果有5%的计算机出现故障,系统将仍能继续工作,只不过损失5%的性能。对于关键性的应用,如核反应堆或飞机的控制系统,采用分布式系统来实现主要是考虑到它可以获得高可靠性。




建立分布式系统的另一原因在于一些应用本身是分布式的。一个超级市场连锁店可能有许多分店,每个商店都需要采购当地生产的商品(可能来自本地的农场)、进行本地销售,或者要对本地的哪些蔬菜因时间太长或已经腐烂而必须扔掉作出决定。因此,每个商店的本地计算机能明了存货清单是有意义的,而不是集中于公司总部。毕竟,大多数查询和更新都是在本地进行的。然而,连锁超级市场的高层管理者也会不时地想要了解他们还有多少甘蓝。实现这一目标的一种途径就是将整个系统建设成对于应用程序来说就像一台计算机一样,但是在实现上它是分布的,像我们前面所描述的一个商店有一台机器。这就是一个商业分布式系统。
 
 
优点如下
1-经济:微处理机提供了比大型主机更好的性能价格比
2-速度:分布式系统总的计算能力比单个大型主机更强
3-固有的分布性:一些应用涉及到空间上分散的机器
4-可靠性:如果一个机器崩溃,整个系统还可以运转
5-渐增:计算能力可以逐渐有所增加
6-数据共享:允许多个用户访问一个公共的数据库
7-设备共享:允许多个用户共享昂贵的外围设备(如彩色打印机)
8-通信:使得人们之间的通信更加容易,如通过电子邮件
9-灵活性:用最有效的方式将工作负荷分配到可用的机器上


1-把模块划分,使用接口通信,降低模块之间的耦合度
2-把项目拆分成若干个子系统,不同的团队负责不同的子系统
3-增加功能时候只需要再增加一个子项目,调用其它系统的接口即可
4-可以灵活的进行分布式部署









缺点如下
1-软件:分布式系统开发的软件还很少
2-网络:网络可能饱和和引起其它的问题
3-安全:容易造成对保密数据的访问


1-系统之间的交互需要远程通信,接口开发需要工作量
2-各个模块之间的业务逻辑无法公用

猜你喜欢

转载自blog.csdn.net/weixin_38500014/article/details/79169483
今日推荐