分布式系统---负载均衡、同步

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

http://os.51cto.com/art/201209/357433.htm   ----经典的分布式文件系统:如Hadoop,OpenStack数据库

 https://blog.csdn.net/wangshouxiang123/article/details/53906805    ----通俗易懂的分布式网络

http://bigdata.51cto.com/art/201804/571608.htm   ----你们常说的分布式系统架构

如今的架构不少,各类各样的,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等,还有和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等,还有不少。并发

分布式系统是支持分布式处理的软件系统,是由通讯网络互联的多处理机体系结构上执行任务的系统。包括分布式操做系统、分布式程序设计语言及其编译系统、分布式文件系统分布式数据库系统等,固然这些也是分布式的关键技术。运维

使用分布式系统主要有:分布式

1.增大系统容量。咱们的业务量愈来愈大,而要能应对愈来愈大的业务量,一台机器的性能已经没法知足了,咱们须要多台机器才能应对大规模的应用场景。因此,咱们须要垂直或是水平拆分业务系统,让其变成一个分布式的架构。ide

2.增强系统可用。咱们的业务愈来愈关键,须要提升整个系统架构的可用性,这就意味着架构中不能存在单点故障。这样,整个系统不会由于一台机器出故障而致使总体不可用。因此,须要经过分布式架构来冗余系统以消除单点故障,从而提升系统的可用性。模块化

3.由于模块化,因此系统模块重用度更高微服务

4.由于软件服务模块被拆分,开发和发布速度能够并行而变得更快

5.系统扩展性更高

6.团队协做流程也会获得改善

分布式系统的类型有三种:

1.分布式处理,但只有一个总数据库,没有局部数据库

2.分层式处理,每一层都有本身的数据库

3.充分分散的分布式网络,没有中央控制部分,各节点之间的联系方式又能够有多种,如松散的联接,紧密的联接,动态的联接,广播通知式的联接等

而后来对比一下单体应用和分布式架构的优缺点:

 

 

1.从上面的表格能够看到,分布式系统虽然有一些优点,但也存在一些问题

2.架构设计变得复杂(尤为是其中的分布式事务)

3.部署单个服务会比较快,可是若是一次部署须要多个服务,部署会变得复杂

4.系统的吞吐量会变大,可是响应时间会变长

5.运维复杂度会由于服务变多而变得很复杂

6.架构复杂致使学习曲线变大

7.测试和查错的复杂度增大

8.技术能够不少样,这会带来维护和运维的复杂度

9.管理分布式系统中的服务和调度变得困难和复杂

 

因此总结一下,分布式系统架构的难点在于系统设计,以及管理和运维。因此分布式系统架构在解决了一些问题的同时,也增长了其余的问题,这就须要不断的再用各类各样的技术跟手段去解决这些新增的问题。后续会跟上分布式系统架构的搭建以及使用。

 

在一个分布式系统中,一组独立的计算机展示给用户的是一个统一的总体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,能够动态的分配任务,分散的物理和逻辑资源经过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操做系统。一般,对用户来讲,分布式系统只有一个模型或范型。在操做系统之上有一层软件中间件(middleware)负责实现这个模型。一个著名的分布式系统的例子是万维网(World Wide Web),在万维网中,全部的一切看起来就好像是一个文档(Web页面)同样。

在计算机网络中,这种统一性、模型以及其中的软件都不存在。用户看到的是实际的机器,计算机网络并无使这些机器看起来是统一的。若是这些机器有不一样的硬件或者不一样的操做系统,那么,这些差别对于用户来讲都是彻底可见的。若是一个用户但愿在一台远程机器上运行一个程序,那么,他必须登录到远程机器上,而后在那台机器上运行该程序。

分布式系统和计算机网络系统的共同点是:多数分布式系统是创建在计算机网络之上的,因此分布式系统与计算机网络在物理结构上是基本相同的。

他们的区别在于:分布式操做系统的设计思想和网络操做系统是不一样的,这决定了他们在结构、工做方式和功能上也不一样。网络操做系统要求网络用户在使用网络资源时首先必须了解网络资源,网络用户必须知道网络中各个计算机的功能与配置、软件资源、网络文件结构等状况,在网络中若是用户要读一个共享文件时,用户必须知道这个文件放在哪一台计算机的哪个目录下;分布式操做系统是以全局方式管理系统资源的,它能够为用户任意调度网络资源,而且调度过程是"透明"的。当用户提交一个做业时,分布式操做系统可以根据须要在系统中选择最合适的处理器,将用户的做业提交到该处理程序,在处理器完成做业后,将结果传给用户。在这个过程当中,用户并不会意识到有多个处理器的存在,这个系统就像是一个处理器同样。

相关文章
相关标签/搜索