欢迎来到诺亚区块链平台 - 一家专业的区块链资讯网站!
区块链 > 数字货币 >

分布式开发是什么意思?已解决

摘要:分布式开发是什么意思?分布式开发是一种软件开发模型,其中跨越地理线的IT团队在应用程序或各种软件上进行协作。这些团队通常由小型项目分开,这些小型项目汇集在一起以进行最

  分布式开发是什么意思?分布式开发是一种软件开发模型,其中跨越地理线的IT团队在应用程序或各种软件上进行协作。这些团队通常由小型项目分开,这些小型项目汇集在一起以进行最终的软件构建。

  分布式开发是一种熟悉的IT方法,但源代码控制和其他问题使其不太理想。但是,现代和先进的基于Web的工具和协作技术使团队能够以分布式方式有效地工作。

  [免费电子书]机器数据基本指南:网络机器数据| 今天下载

  Techopedia解释了分布式开发

  由于以下原因,团队以远程,协作和分布式开发方式工作,原因如下:

  虽然团队成员可能会分享类似的项目想法,但他们可能在不同的地点居住或工作,因此无法进行内部协作。

  初创公司可以使用这种方法来节省前期或资本成本,例如团队成员的设施和硬件。

  团队成员可能想要或需要在家工作,或者搬迁可能不是一种选择。

  全球化和雇用第三世界国家的IT员工可以降低管理费用。

  分布式开发具有潜在的缺点。例如,由多个微团队组成的大型团队可能会在相互沟通,延迟或延长发展过程和时间表方面失败。

  在分布式架构中,组件呈现在不同平台上,并且若干组件可以通过通信网络彼此协作以实现特定目标或目标。

  在这种架构中,信息处理不仅限于一台机器,而是分布在几***立的计算机上。

  客户端 - 服务器体系结构可以演示分布式系统,该体系结构构成了多层体系结构的基础; 替代方案是代理体系结构,如CORBA和面向服务的体系结构(SOA)。

  有几种技术框架可支持分布式体系结构,包括.NET,J2EE,CORBA,.NET Web服务,AXIS Java Web服务和Globus Grid服务。

  中间件是一种适当支持分布式应用程序开发和执行的基础架构。它在应用程序和网络之间提供缓冲区。

  它位于系统中间,管理或支持分布式系统的不同组件。例如事务处理监视器,数据转换器和通信控制器等。

  中间件作为分布式系统的基础架构

概念分布式架构

  分布式体系结构的基础是其透明性,可靠性和可用性。

  下表列出了分布式系统中不同形式的透明度 -

  

Sr.No. 透明度和描述
1

访问

隐藏了访问资源的方式以及数据平台的差异。

2

位置

隐藏资源所在的位置。

3

技术

从用户隐藏不同的技术,如编程语言和操作系统。

4

迁移/搬迁

隐藏可能移动到正在使用的其他位置的资源。

复制

隐藏可能在多个位置复制的资源。

6

并发

隐藏可能与其他用户共享的资源。

7

失败

隐藏故障并从用户恢复资源。

8

坚持

隐藏资源(软件)是在内存还是磁盘中。

 

  好处

  资源共享 - 共享硬件和软件资源。

  开放性 - 使用不同供应商的硬件和软件的灵活性。

  并发 - 用于增强性能的并发处理。

  可伸缩性 - 通过添加新资源提高吞吐量。

  容错 - 发生故障后继续运行的能力。

  缺点

  复杂性 - 它们比集中式系统更复杂。

  安全性 - 更容易受到外部攻击。

  可管理性 - 系统管理需要更多努力。

  不可预测性 - 根据系统组织和网络负载的不可预测的响应。

  集中系统与分布式系统

  

标准 集中系统 分布式系统
经济学
可用性
复杂
一致性 简单
可扩展性 较差的
技术 同质 异质
安全

 

  客户端 - 服务器架构

  客户端 - 服务器体系结构是最常见的分布式系统体系结构,它将系统分解为两个主要子系统或逻辑进程 -

  客户端 - 这是向第二个进程(即服务器)发出请求的第一个进程。

  服务器 - 这是接收请求,执行请求并向客户端发送回复的第二个进程。

  在此体系结构中,应用程序被建模为由服务器和使用这些服务的一组客户端提供的一组服务。服务器不需要了解客户端,但客户端必须知道服务器的身份,处理器到进程的映射不一定是1:1

两层客户端服务器架构

  客户端 - 服务器架构可以根据客户端的功能分为两个模型 -

  瘦客户端模型

  在瘦客户端模型中,所有应用程序处理和数据管理都由服务器承载。客户端负责运行演示软件。

  在遗留系统迁移到客户端服务器体系结构时使用,其中遗留系统本身充当服务器,并在客户端上实现图形界面

  一个主要的缺点是它在服务器和网络上都承受了沉重的处理负担。

  厚/胖客户端模型

  在胖客户端模型中,服务器仅负责数据管理。客户端上的软件实现应用程序逻辑以及与系统用户的交互。

  最适合于预先知道客户端系统功能的新C / S系统

  比瘦客户端模型更复杂,特别是对于管理。必须在所有客户端上安装新版本的应用程序。

厚/胖客户端模型

  好处

  分离职责,例如用户界面演示和业务逻辑处理。

  服务器组件的可重用性和并发潜力

  简化分布式应用程序的设计和开发

  它可以轻松地将现有应用程序迁移或集成到分布式环境中。

  当大量客户端访问高性能服务器时,它还可以有效地使用资源。

  缺点

  缺乏异构基础设施来处理需求变化。

  安全复杂。

  服务器可用性和可靠性有限

  可测试性和可扩展性有限。

  具有演示和业务逻辑的胖客户端。

  多层体系结构(n层体系结构)

  多层体系结构是一种客户端 - 服务器体系结构,其中诸如表示,应用程序处理和数据管理等功能在物理上是分开的。通过将应用程序分成层,开发人员可以选择更改或添加特定层,而不是重新处理整个应用程序。它提供了一个模型,开发人员可以通过该模型创建灵活且可重用的应用程

N层架构

  多层体系结构的最普遍用途是三层体系结构。三层体系结构通常由表示层,应用程序层和数据存储层组成,并且可以在单独的处理器上执行。

  演示层

  表示层是用户可以直接访问的应用程序的最顶层,例如网页或操作系统GUI(图形用户界面)。该层的主要功能是将任务和结果转换为用户可以理解的内容。它与其他层通信,以便将结果放置到浏览器/客户端层和网络中的所有其他层。

  应用程序层(业务逻辑,逻辑层或中间层)

  应用程序层协调应用程序,处理命令,做出逻辑决策,评估和执行计算。它通过执行详细处理来控制应用程序的功能。它还可以在两个周围层之间移动和处理数据。

  数据层

  在该层中,信息从数据库或文件系统中存储和检索。然后将信息传回以进行处理,然后再传回给用户。它包括数据持久性机制(数据库服务器,文件共享等),并向应用层提供API(应用程序编程接口),提供管理存储数据的方法。

数据层

  好处

  比瘦客户端方法更好的性能,并且比厚客户端方法更易于管理。

  增强可重用性和可扩展性 - 随着需求的增加,可以添加额外的服务器。

  提供多线程支持,还可以减少网络流量。

  提供可维护性和灵活性

  缺点

  由于缺乏测试工具,测试性不令人满意。

  更关键的服务器可靠性和可用性

  经纪人建筑风格

  Broker Architectural Style是一种用于分布式计算的中间件架构,用于协调和启用已注册服务器与客户端之间的通信。这里,对象通信通过称为对象请求代理(软件总线)的中间件系统进行。

  客户端和服务器不直接相互交互。客户端和服务器与其代理进行直接连接,该代理与中介代理进行通信。

  服务器通过向代理注册和发布其接口来提供服务,并且客户端可以通过查找静态地或动态地从代理请求服务。

  CORBA(公共对象请求代理体系结构)是代理体系结构的一个很好的实现示例。

  经纪人建筑风格的组成部分

  经纪人建筑风格的组成部分通过以下主题讨论 -

  经纪人

  经纪人负责协调沟通,例如转发和调度结果和例外。它可以是面向调用的服务,客户端向其发送消息的文档或面向消息的代理。

  它负责代理服务请求,定位适当的服务器,传输请求以及将响应发送回客户端。

  它保留了服务器的注册信息,包括其功能和服务以及位置信息。

  它为客户端提供API请求,服务器响应,注册或取消注册服务器组件,传输消息和查找服务器。

  存根

  存根在静态编译时生成,然后部署到客户端,客户端用作客户端的代理。客户端代理充当客户端和代理之间的中介,并在它们与客户端之间提供额外的透明性; 远程对象看起来像本地对象。

  代理在协议级别隐藏IPC(进程间通信),并执行参数值的编组和来自服务器的结果的解组。

  骨架

  Skeleton由服务接口编译生成,然后部署到服务器端,服务器端用作服务器的代理。服务器端代理封装了低级系统特定的网络功能,并提供高级API以在服务器和代理之间进行调解。

  它接收请求,解压缩请求,解组方法参数,调用合适的服务,并在将结果发送回客户端之前整理结果。

  桥

  网桥可以基于不同的通信协议连接两个不同的网络。它调解不同的代理,包括DCOM,.NET远程和Java CORBA代理。

  桥是可选组件,当两个代理互操作并以一种格式获取请求和参数并将它们转换为另一种格式时,它隐藏实现细节。

经纪人模型

  CORBA中的代理实现

  CORBA是对象请求代理的国际标准 - 对象请求代理是一种中间件,用于管理由OMG(对象管理组)定义的分布式对象之间的通信。

CORBA架构

  面向服务的体系结构(SOA)

  服务是业务功能的一个组件,它是定义明确,独立,独立,发布并可通过标准编程接口使用的。服务之间的连接是通过通用的和通用的面向消息的协议进行的,例如SOAP Web服务协议,它可以松散地在服务之间传递请求和响应。

  面向服务的体系结构是一种客户端/服务器设计,支持业务驱动的IT方法,其中应用程序由软件服务和软件服务使用者(也称为客户端或服务请求者)组成。

SOA

  SOA的特征

  面向服务的体系结构提供以下功能 -

  分布式部署 - 将企业数据和业务逻辑公开为松散,耦合,可发现,结构化,基于标准,粗粒度,无状态的功能单元,称为服务。

  可组合性 - 通过定义明确,已发布和标准的投诉界面,以所需粒度公开的现有服务组装新流程。

  互操作性 - 无论底层协议或实施技术如何,共享功能并在网络中重用共享服务。

  可重用性 - 选择服务提供商并访问作为服务公开的现有资源。

  SOA操作

  下图说明了SOA如何运作 -

SOA运营

  好处

  服务导向的松散耦合为企业提供了极大的灵活性,无论平台和技术限制如何,都可以利用所有可用的服务资源。

  由于无状态服务功能,每个服务组件独立于其他服务。

  只要未更改公开的接口,服务的实现不会影响服务的应用程序。

  客户端或任何服务可以访问其他服务,无论其平台,技术,供应商或语言实现如何。

  资产和服务的可重用性,因为服务的客户端只需要知道其公共接口,服务组合。

  基于SOA的业务应用程序开发在时间和成本方面更加高效。

  增强可扩展性并在系统之间提供标准连接。

  高效和有效地使用“商业服务”。

  集成变得更加容易并且提高了内部互操作性。

  开发人员的抽象复杂性,使业务流程更贴近最终用户。

  更多推荐阅读:

  金色财经:xsh什么意思?秒懂

版权声明:本文:分布式开发是什么意思?已解决:由诺亚区块链原创内容,如需转载请注明原网址:http://www.ccimicro.com/ico/962.html。如有不对请联系作者删除谢谢合作

相关文章阅读