`
asle
  • 浏览: 838 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

构建分布式系统的难度

阅读更多
在分布式系统设计中,为了提供更好的非质量属性(高可用,可扩展,互信安全等),系统伸缩性问题是我们关注的核心问题,它主要表现在网络和服务器的容量(即书中所谈及的数据量)和性能(即应用程序的计算逻辑)问题,原则上讲只存在三种伸缩技术:隐藏通信延迟,分布和复制。
    隐藏通信延迟:主要针对的是地理的伸缩性问题。它的基本思路很简单:尽可能避免等待远程服务的回复。从本质上来讲,这就要求我们尽可能的采用异步通信的方式来构成服务请求的应用,在服务回复到达的时候,用户可以继续服务请求的处理。
    分布:涉及到将一个较大的组件分解成更小的部分,然后将它们部署在整个系统上(而不是一台机器上)。由于组件分布在不同的机器上面,不可避免的带来了网络损耗。
    复制:不仅可以提供系统的可用性,而且可以帮助我们在组件之间实现采用负载均衡而使系统达到更好的性能。同事,对于地理位置比较分散的分布式应用,一个较近的资源就可以隐藏通信延迟。缓存是一种特殊形式的复制,是对资源做的一个拷贝。复制天然的会来一个数据不一致的问题,这是有数据的多点分布这个特性带来的
    从上面三个基本点来说,分布式系统本身就是一种折中的方案,对于CAP定理,从本质就决定我们不可能同时满足所有的客观要求。针对上面的三种基本技术,一般来说一个分布式系统的分析和设计就必须解决下面的7个子问题:
(1)高级通信问题。计算机网络通信的模型本质上计算机之间的消息传递。
(2)进程和代码的分布。将应用系统的代码处理和进程进行分布构成分布的最基本的思想。最近的研究集中在代码在分布环境下的迁移和基于主体的应用。
(3)资源的命名服务。在大规模分布的环境中,资源的命名和管理是一个关键的问题。如何采用一致的方式进行资源的命名,资源的访问和资源的配置就构成了命名服务研究的主要问题。
(4)分布式事务处理。
(5)复制与一致性问题。
(6)分布式容错系统。
(7)分布式安全设计。
     任何设计都不能减少系统本身的业务逻辑性的复杂度,这是系统本身的商业环境和业务场景决定了系统在实现难度上的基本难度下线,我们的设计只能不断的逼近这个难度下线,通过系统性的思考来综合考虑一个分布式系统的设计会是有个不错的方式。
分享到:
评论

相关推荐

    Spring Cloud 是一个用于构建分布式系统的开源框架

    Spring Cloud 是一个为构建分布式系统的开源框架,它主要基于 Spring Boot 并提供了许多工具和服务来简化分布式系统的设计与实现。Spring Cloud 的核心价值在于它提供了一套完整的解决方案,帮助开发者轻松实现...

    华为云智能边缘云首席架构师解读KubeEdge:云原生的边缘计算平台

    (1)边云生态的割裂,物理设备访问难度高,与IT技术割裂,开发难度高产品上市周期长(2)日趋复杂的边缘业务的部署,对高度分布和大规模可扩展性缺乏考虑(3)缺少和云的协同以及边缘和边缘的协同,构建分布式系统难度高(4)OT...

    分布式系统设计模式

    本文将深入探讨分布式系统的基本概念及其核心设计模式,帮助读者理解如何构建稳定、高效且可扩展的分布式系统。 #### 二、分布式系统的定义与特点 **定义:** 分布式系统是指一组相互连接并能够协同工作的计算机...

    推荐阅读:分布式系统架构经典资料

    - **FLP Impossibility Result**:这篇论文详细阐述了分布式系统中实现一致性的难度,特别是Fischer-Lynch-Paterson不可能性定理,对于理解分布式共识问题至关重要。 - **An Introduction to Distributed Systems*...

    基于服务虚拟化工具的分布式系统集成测试.pdf

    1. 交互依赖复杂性:分布式系统中的组件间的交互依赖关系较为复杂,这可能导致集成测试难度增加。 2. 交互消息协议多样:分布式系统涉及多种不同的消息协议和消息中间件,给测试工作带来了额外的复杂性。 3. 缺乏...

    分布式系统网络教程之让您的系统适应未来需求

    分布式系统网络教程旨在帮助我们构建出能够适应未来需求的高效、灵活且可扩展的系统。在当前快速发展的信息技术环境中,确保系统具备前瞻性是至关重要的。本教程将深入探讨四个核心要素,这些要素对于构建这样的系统...

    .NET Remoting技术构建分布式

    本文将深入探讨.NET Remoting在构建分布式系统中的角色,以及与其他分布式技术如Socket、ASP.NET Web Service、WSE和WCF的比较。 首先,让我们看看Socket和.NET Remoting之间的差异。Socket是底层网络通信的基础,...

    分布式系统的研究与应用.pdf

    ### 分布式系统的研究与应用 #### 一、分布式系统的概述及关键技术 ...通过合理选择和利用分布对象技术、中间件技术以及适当的系统模型,可以有效应对分布式系统开发中的挑战,构建高效稳定的分布式系统。

    基于CORBA的分布式系统实时语音播放程序设计.pdf

    分布式系统的开发通常面对异构节点环境,这使得系统搭建与部署的难度大大增加。CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)作为一种分布式计算标准,由OMG(Object Management ...

    以数据为中心的分布式系统自适应集成方法.pdf

    针对分布式系统集成中存在的紧耦合问题,曹建平等研究者提出了一种以数据为中心的分布式系统自适应集成方法。该方法旨在解决分布式系统集成的难题,特别是异构系统间的集成问题。异构系统由于其设计上的独立性和多...

    分布式系统领域经典论文翻译集.pdf

    这些论文不仅深入探讨了分布式系统的理论基础和技术实现,还介绍了谷歌等科技巨头在构建大规模分布式系统过程中的实践经验与技术创新。 #### 二、内容概述 该论文集主要分为两个部分:第一部分是谷歌系列论文;第...

    东北大学分布式系统PPT.rar

    分布式系统是计算机科学中的一个重要领域,它涉及到多个独立计算节点通过网络进行通信和协作,以完成共同的任务。...通过深入学习,考生可以构建扎实的理论基础,并具备解决实际分布式系统问题的能力。

    超大规模计算与分布式系统.pptx

    ### 超大规模计算与分布式系统 #### 一、超算架构及其演进 超大规模计算的核心在于如何高效地管理大量的计算资源,并将其应用于解决复杂的科学计算问题。随着技术的发展,超算架构经历了从传统的冯·诺依曼架构到...

    第一课:从0到1整体认知分布式系统 1

    【分布式系统概述】 分布式系统是一种由多个相互协作的计算实体组成的系统,这些实体通过网络通信和协调工作,共同完成一个任务。随着互联网的发展,分布式架构逐渐成为支撑大规模、高并发应用的重要基石。从单体式...

    资源敏感的分布式系统性能建模方法.pdf

    分布式系统由多个物理或虚拟节点组成,它们通常运行在异构环境和不同的网络上,通过通信协议进行交互,因此它们的设计和性能优化比单一系统的难度要大得多。由于分布式系统要处理大规模数据和用户请求,系统性能的...

    消息中间件在分布式系统中的作用介绍与实例

    消息中间件在分布式系统中的应用已经变得越来越普遍,它在构建高效、可靠和可扩展的系统中扮演着至关重要的角色。本文将深入探讨消息中间件的功能、重要性以及实际应用场景,帮助读者理解如何利用这种技术优化分布式...

    大规模分布式系统中的IT治理

    ### 大规模分布式系统中的IT治理 #### 一、大规模分布式系统之痛 在当今数字化时代,企业纷纷转向大规模分布式系统来应对快速增长的数据量、用户基数以及业务需求。这种转变虽然带来了灵活性和可扩展性的优势,但...

    基于无线传感器网络的分布式光伏并网发电系统监控网络构建.pdf

    通过上述分析,可以得出,在构建分布式光伏并网发电系统的监控网络时,采用概率感知部署法能够有效解决因感知受限而产生的监控遗漏问题,提高监控网络的覆盖率和可靠性,从而为光伏发电系统的稳定运行提供有力保障。...

Global site tag (gtag.js) - Google Analytics