zoukankan      html  css  js  c++  java
  • 分布式架构的内涵与主要特点

          业界对于分布式架构尚未形成统一的定义,但基本包含“基于分布式架构的系统是一组相互独立但并行协同工作的计算机集合;对系统的用户来说,系统就象一台计算机一样”这两层意思。从硬件角度,每台机器都是自治的、独立的;从软件角度,用户感受是整体的、一致的。据此,分布式架构应具备以下特征:一是物理部署分布式,即用多台计算机来共同承载业务;二是处理过程分布式,系统各环节各司其职、并行处理,通过特定机制有效协同关联;三是数据存储分布式,将数据分散存储,但不影响数据运算结果的完整性和一致性。

      综合上述特点,分布式架构设计的核心理念是“并行拆分与横向扩展”,即按照一定维度将系统进行拆分,系统各部分松耦合并行运行,并建立起较为完善的横向扩展与容错恢复机制。也正是基于这一设计理念,使得分布式架构具备了多方面的优势

    一是系统扩展能力较强,可基于通用硬件扩展计算和存储能力来提升系统处理能力,满足业务不断增长的需求;

    二是系统运行效率较高,在对系统各环节合理拆分的基础上,通过并行处理进一步突破传统串行处理存在的效率瓶颈;

    三是系统运行可靠性较好,将系统拆分后并行运行在多台相同的设备上,即使单一设备出现故障,整个系统仍可正常运转或仅局部受损;

    四是系统成本优势明显,分布式系统基于相对廉价的通用计算和存储设备构建,获取相同处理能力的成本低于传统架构。

      但与此同时,分布式架构也存在一些不足。例如,在对系统进行拆分后,如何协调各部分之间的并行处理,确保最终处理结果的一致性如何应对跨网络访问过程中可能存在的信息丢失和通讯延迟,确保信息系统服务水平;如何确保在单个节点异常情况下系统正确切换与恢复,确保系统整体可靠性等等,这都需要在系统设计与实现层面制定有针对性的解决方案。再如,分布式系统由于其数据分开存放,不同功能并行处理,为了确保系统整体可靠性,往往采用“数据最终一致性”的原则进行设计,需在产品功能设计层面同步予以考虑。

  • 相关阅读:
    124. Binary Tree Maximum Path Sum
    99. Recover Binary Search Tree
    255. Verify Preorder Sequence in Binary Search Tree
    [LeetCode] 79. Word Search Java
    [LeetCode] 78. Subsets Java
    [LeetCode] 77. Combinations Java
    [LeetCode] 52. N-Queens II Java
    [LeetCode] 51. N-Queens Java
    [LeetCode] 47. Permutations II Java
    [LeetCode] 46. Permutations Java
  • 原文地址:https://www.cnblogs.com/joseph_zheng/p/6872934.html
Copyright © 2011-2022 走看看