SOA是一个对应于大型分布式系统的概念。要理解SOA,必须首先理解大型分布式系统的特性。
首先,大型系统必须面对“遗留资产”的问题。你不太可能一切从头开始设计的时候引入SOA的理念。你不得不面对大多数现在正在使用的系统今后仍将保留这一现实。这也意味着实施SOA并不等于从头开始设计一个新系统,而是改变现有系统的架构,解决旧平台的整合和向后兼容的问题。事实上,实现SOA是为了更好的维护大型系统。
从本质上来说,所有的大型系统都是混杂的。这些系统往往有不同的目的,实施时间,你会发现整个系统架构夹杂着不同的平台,编程语言,编程范式,甚至是中间件。在过去,已经有许多整合的手段试着解决这个扩展性的问题。某些方法确实达到了一定的效果,比如撤掉一些无法再维护的旧平台或旧系统就是一种方案。但实际情况是你的系统无法被完全协调成一致。恰恰在你移掉最后一块不协调的部件前,一次公司合并,或者是其他的改变又将重新打开潘多拉的盒子。
造成这种混杂性的一个原因是大型系统和它们的数据往往有很长的生命周期。在这个生命周期中,由于业务的需求,新的项目会不断的加入到原有系统。完全移除原有系统和数据太过昂贵,同时它们本身还有不少商业价值。所以只能保留原有系统并在维护性上投资。经常的情况是这种投资来的太晚了,也比较昂贵,因为这时候系统基本已经失去控制了。
大型系统同时又是十分复杂的。所以找出修改(扩展)的切入点和判断其效果变的非常困难。
大型系统往往还有另外一个特点:有不同的所有者。不同的团队,部门,或者公司可能在维护这些系统,这也意味会有不同的预算,日程表,视角和利益。由于彼此各自相对独立,你通常没有足够的权利控制整个系统的设计和行为。虽然有协商和合作,但终究由于各自利益的不同而产生问题。
另外一个大型系统的明显特征是不完美性。要想完美几乎是不可能的。他们可能能顺利完成99%的运作,但在另外1%的工作中却出现问题,带来的结果是:更多的人力投入,问题管理方案的引入,或者客户的不满。值得一提的是这里不完美的比例可能各个系统会有所不同。(重要系统往往有一个更好的可靠性,但即使是这些系统消除其一个隐患也要投入大量的人力物力)
同样的,大型系统也具有一定程度的冗余性。尽管有些冗余可能是偶然产生的,但却有另外很大一部分是"故意","有意识"引入的冗余,因为在实践中,基本没有办法让所有的数据都标准化从而使其只存储在一个地方。消除冗余其实是十分困难的,会引入一些严重的运行时问题。对于一个相对简单系统的冗余情况,只要保证业务核心清晰即可(将所有的冗余数据从中剥离).在复杂系统的情况中,会有许多的业务核心,而且这些业务核心并没有被清晰的界定。所以在现实情况下,要保持一致性是非常复杂的。
最后,对于大型系统来说,是不该有瓶颈的,因为这意味着自取灭亡。但这并不意味着它们不会存在,但总体而言,避免瓶颈,保持扩展是一个重要目标。值得一提的是这里的瓶颈并不单单指技术上的瓶颈。在大型系统中,流程和组织架构上的瓶颈同样也会阻碍扩展性。
分享到:
相关推荐
第1章 分布式系统的特征 1.1 简介 1.2 分布式系统的例子 1.2.1 Web搜索 1.2.2 大型多人在线游戏 1.2.3 金融交易 1.3 分布式系统的趋势 1.3.1 泛在联网和现代互联网 1.3.2 移动和无处不在计算
**分布式系统的核心特征** 1. **透明性**:用户不应感知到系统的分布式特性,如位置透明性、复制透明性等。 2. **可靠性**:即使部分组件失效,系统仍能正常工作。 3. **可扩展性**:随着节点的增加,系统性能应线性...
在分布式系统的基础设施方面,大型分布式网站需要依赖众多中间件和支撑系统。这些基础设施包括服务框架、消息中间件、数据访问中间件、配置中心、分布式缓存系统、持久化存储(关系数据库和NoSQL数据库)、搜索引擎...
分布式系统的发展历程和相关概念 分布式系统是现代信息技术中的核心组成部分,它们的发展历经了多个阶段,从最初的ARPANET和电子邮件,到局域网和TCP/IP协议的出现,再到互联网和WWW时代的到来。随着技术的进步,...
1.1 大型分布式系统的特征 1.2 魔术总线故事 1.3 魔术总线故事给我们的启示 1.4 soa历史 1.5 五页幻灯讲完soa 第2章:soa 2.1 soa定义 2.2 soa驱动因素 2.3 soa概念 2.4 soa要素 2.5 ...
大型分布式入侵检测系统(BDIDS)是一种专门设计来检测和响应复杂网络环境中多层面、多手段攻击的系统。这种系统的主要目的是在分布式网络的多个子网间发现存在的异常现象,这些攻击手段若不进行综合分析评估,极有...
1. **分布式系统的基本特征**:分布式系统由分布在不同地理位置的多台计算机组成,它们通过网络通信并共享资源。这些系统的关键特性包括透明性(如位置透明、复制透明等)、高可用性、可扩展性和容错性。 2. **进程...
单系统映像是分布式系统的一个重要特征,它让用户感觉好像在使用一个统一的、高度集中的分时系统,而非多个独立的机器。这种设计极大地简化了用户的使用体验,并有助于隐藏系统内部复杂的分布式特性。 #### 九、...
分布式系统的主要特征包括场地分布、数据分布、硬件平台多样化、操作系统多样化以及应用平台多样化。 针对分布式系统的特点,在开发大型复杂的分布式系统(例如火车订票系统、股票交易系统、电子商务平台等)时,...
本文介绍了大型分布式电源建模分析与并网特性的研究,专注于大型和中型光伏发电系统(PV)并网原理的详细分析。研究团队确立了光伏逆变器的数学模型以及电网分布参数模型,并在此基础上进一步分析了并网特性。特别地...
分布式系统是一种由多个相互协作的计算节点组成的架构,它可以将大型任务分解为小任务,分散到各个节点上并行处理,从而提高整体处理能力。在大数据场景下,传统的单机计算方式已经无法满足需求,因此分布式系统成为...
### 分布式系统与云计算 #### 一、分布式系统的概念与特性 **分布式系统的概念**: - **定义**:分布式系统是由多个独立计算机(节点)组成的系统,这些计算机通过网络连接并协同工作,共同完成一个任务。 - **...
1.1 大型分布式系统的特征 1.2 魔术总线故事 1.3 魔术总线故事给我们的启示 1.4 soa历史 1.5 五页幻灯讲完soa 第2章:soa 2.1 soa定义 2.2 soa驱动因素 2.3 soa概念 2.4 soa要素 2.5 ...
在大型分布式系统中,服务故障的排查困难以及系统恢复漫长的问题尤为突出。传统的基于人工的技术难以快速定位故障、耗时长,并且容易造成故障问题难以发现。为了解决这些问题,迫切需要实现分布式服务故障预测技术。...
在《分布式系统原理与范型》这本书中,作者可能详细介绍了分布式系统的特征,如透明性、一致性、容错性、可扩展性和性能优化等。这些特性对于理解分布式系统的设计目标至关重要。 分布式系统的核心概念包括数据复制...
分布式系统是现代信息技术领域中的核心概念,特别是在云计算和大规模数据处理中扮演着至关重要的角色。本文将深入探讨分布式系统的原理与范型,并结合中科大软院的课程内容,包括课后习题答案和知识点总结,为读者...