松耦合(Loose coupling)笔记

松耦合是解决复杂问题的关键,通过增加中间层如应用服务器或ESB来分摊压力和实现系统间的松耦合。在SOA中,松耦合对于大型分布式系统的可伸缩性、灵活性和容错性至关重要,但也会增加系统的复杂性。紧耦合导致系统间的高度依赖,而通过引入Mediator或ESB可以实现松耦合,降低维护成本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多年前看过的一本书,有过这么一句话(大意):很多复杂问题的解决都是通过增加中间层来实现的。
比如:应用系统最早是两层架构,数据库的负载往往会很大,通过增加应用服务器来分摊数据库层的压力;
系统集成,点对点的对接,系统间相互的依赖性太大,增加一个中间层(ESB,企业服务总线)实现松耦合性。

开发语言上,想让对象与对象间松耦合,通过增加抽象类(Abstract Class)或者接口来做到。


------------------------------------------------------------------------------------------------------------------------------------------------------------------

松耦合的目标是最小化依赖。松耦合这个概念主要用来处理可伸缩性、灵活性和容错这些需求。


SOA应用于大型分布式系统。对于这样的系统来说,可伸缩性和容错性是可维护性的关键。另一个重要的目标是:最小化修改、故障对系统在整体上的影响。所以,松耦合就成了SOA的关键概念。


松耦合要付出使系统更加复杂的代价。松耦合意味着更多的开发以及维护工作量。


紧耦合 vs 松耦合

一个例子:A系统作为服务提供方,与B1,B2,B3....Bx等服务消费方系统对接,使用紧耦合点对点的方式来系统集成,那么假如A系统如果更改了地址,那么B1,B2,B3...Bx系统都需要求相应的请求地址。说明系统和系统间严重依赖。

要实现松耦合,通常的做法就是引入Mediator(中间层,也有翻译成中介者),在SOA中,这个中间层通常指的就是ESB(企业服务总线)。

Web Service在技术上是点对点的连接,在此你通常使用中间人来找到请求的物理端点,在运行时把请求路由到服务供应方。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值