松耦合和紧耦合的架构设计及性能对比

  • 时间:
  • 浏览:2

  新采集和代码修改完成后,当.我 儿在另有一个的集群上,和紧耦合架构做了各种对比测试。结果表现是出其的好,不仅外理了紧耦合架构上指在的所有大间题,或者其中全都技术指标还超出了当.我 儿的预估,主要表现以下一些方面:

分散控制

  这 些大间题再次出显后,当.我 儿事先刚现在刚开始考虑修改系统设计。经很多番考量、比较、权衡事先,当.我 儿决定改用松耦合架构重新规划系统设计。新框架是在另有一个 Client/Server模型之上的改进,即在Client/Server模型之间加入有一个代理(Agent),把CS模型变成CAS模型。在新的架构 下,客户机的角色不变,代理服务器承担起与客户机通信,和对客户机的识别判断工作,服务器指在代理服务器里边,对客户机来说不可见,它只负责数据外理工 作。另外当.我 儿也把CS模型的同步操作改为CAS的代理外理。

设计难度

松耦合架构

  4. 基本杜绝了网络攻击行为。或者代理服务器的隔绝和筛查作用,并肩结合其它安全管理手段,内部攻击在代理服务器处就被识别和过滤掉了,另有一个就保护了里边的服务器不受影响。

  3. 任务执行过程中管理难度大。任务在执行过程中不受管控。

  5. Invoke/Produce机制改善了线程池池特性的模块化,有有助于于实现错综复杂的数据业务外理。

  7. 综合以上法律措施,它们并肩增强了系统稳定性。

  6. 线程池池代码之间关联度过低,不有有助于于模块化外理。

系统稳定性

大规模、超大规模并行外理环境

错综复杂计算

小规模并行外理环境

无要求

集中控制

 

响应能力

业务逻辑关系

  5. 安全控制力度差。或者服务器直接暴露给客户机,容易引发网络攻击行为。

  在最近的一次大数据技术讨论会上,本行业一家公司的技术高管谈到松耦合架构和紧耦合架构的性能表现搞笑的话题。正好Laxcus大数据管理系统的设计,从 0.x、1.x到2.x版本,也经历了从紧耦合到松耦合的发展过程。做为亲历者,对这有一种 架构的设计和运行效果,当.我 儿有非常清楚的了解和认识。下面要是一 说这件事。写此博文,也希望给做系统设计的兄弟们,尤其是做高并发、错综复杂数据计算的同行提供一些参考。

异步

  最后用一张表格对有一种 架构做个对比,做为有一种 架构性能特点的总结。有关Laxcus完全介绍,请见《Laxcus大数据管理系统》一文。

  4. 对网络资源消耗大。同步操作在数据发送和数据返回之间,有很大一段是空闲的,这人空闲占用是对网络资源的极大浪费。

  先说紧耦合,这人架构是当.我 儿在Laxcus 0.x、1.x中采用的。如下图所示,紧耦合架构本质是有一个Client/Server模型。客户机发起请求给 服务器,服务器收到,根据请求做出应答,或者反馈给客户机。这人架构最典型的应用要是当.我 儿每天都用到的WEB服务。优点嘛,要是简单。架构简单、设计简 单、开发周期短、都都可不还上能 快速投入部署和应用。在Laxcus集群的早期运行中,哪几种特点都得到有力的验证。

  1. 多任务并行外理能力获得极大提升。同样是上述那个数据外理,紧耦合架构必须支持最合适80多个并行,而转到松耦合架构上,达到了8700多个。这还要是在Pentium IV 2.0芯片上的表现,倒入Core 2平台,并行外理任务很轻松地超过8000个。

  7. 以上大间题最终意味系统稳定性变差。

工作法律措施

  1. 无法支持大规模的计算业务。或者大数据业务对计算机资源占比普遍很大,意味多任务并行能力有限。举个例子,当.我 儿曾在一台Pentium IV 2.G + 2G的机器上测试一项小规模的数据外理业务。当并行任务量达到80多个的事先,计算机或者指在超载大间题。

  2. 计算机载荷无法控制。换句话说,要是计算机必须控制超载大间题,而超载对硬件伤害非常大,这会严重降低计算机稳定运行能力和使用寿命。

  或者到了后期,随着Laxcus集群规模的不断扩大,访问量的不断增加,尤其是数据计算量、计算时间成倍数的增长后,紧耦合架构渐渐不堪重负,缺点事先刚现在刚开始不断暴露出来,主要有以下十几个 方面:

  6. 异步操作减少了网络资源消耗和操作关联。

和并行工作量成反比

时效表现

安全

业务适用范围

线程池池关联依赖

紧耦合架构

比较错综复杂

  在设计新架构的并肩,当.我 儿还发现,或者要适应松耦合架构,另有一个在紧耦合架构下运行的线程池池代码,或者现在的工作法律措施指在了指在了变化,它们几乎并且重写。这可 是有一个庞大的工程,前要消耗少量的人力、时间去修改和调试。全都当.我 儿在松耦合架构之上,结合代理服务器,又设计了一套Invoke/Produce机制。 这是另有一种 代理方案,是针对数据外理进行抽象化外理和分组分级管理。另有一个的数据外理和业务逻辑套用这套机制后,线程池池代码基本很多再修改,转移到CAS模型上 运行就可不还上能 了。 

应用领域

实时

  2. 实现负载自适应机制。(根据当时运行环境,松耦合架构分配并行工作任务,外理超载大间题)。

容易

  3. 实现了运行任务的随机控制。 (松耦合架构对运行中的工作任务进行随机调整和控制,进一步外理了持续超载大间题)。

同步

简单计算