某大型银行深化系统技术方案之十五:服务层之服务调用

本文探讨了SOA体系下服务层的设计原则,重点分析了服务粒度和服务耦合度的关系及其对系统的影响,并介绍了服务调用的不同形式,包括同步调用、异步消息、批量文件和批量数据。

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

传送门Android兵器谱转载请注明http://blog.youkuaiyun.com/leverage_1229

服务层

服务层主要体现了SOA体系下的组件复用和业务复用机制。服务的边界定义决定于粒度和耦合度。
粒度表示的是一个服务的大小,它可以理解为服务操作的范围,粗粒度的服务,操作的内容广而且杂;细粒度的服务,操作的内容细而且简单。粗粒度的服务设计,可以减小服务之间的耦合性,但付出的代价就是增加服务的复杂性,服务具备了太多的功能,增加了设计的复杂性和维护的难度;细粒度的服务,可以让服务的实现变得简单,但这样会增加服务的数量,服务过细过多,这样必然有一些服务需要组合才能实现一定的功能,那样就增加了服务之间的耦合度,只要其中一个服务发生了变动,势必牵一发而动全身。

耦合代表的是服务与服务之间的关系。SOA的初衷就是为了降低系统各个部分之间的耦合性,使得服务可以重用。但很显然,耦合性是受到服务粒度很大的影响,而且从某种程度上讲,粒度的选择就决定了系统内部的耦合性。

服务调用
服务调用分为同步调用、异步消息、批量文件、批量数据四种形式:
1.同步调用
在通信连接中,同步通信需要一个发送器和一个接收器来协同内部处理过程,这种协同表明同步通信要求高度耦合,通信由发送器和接收器协同完成,发送器和接收器的操作都依赖于请求过程。发送器发送下一个通信请求首先需要拿到接收器发回的应答结果或确认接收信息。
2.异步消息
异步通信并不需要发送器与接收器协同操作来完成通信,其耦合程度比同步通信的低。异步通信主要的实现方式为消息队列,通过这个队列实现这一对系统之间点对点的通信连接。这是异步通信中最简单的一种方式。发送器发送请求至消息队列,请求发出后,发送器就不再关心请求,而是继续操作;消息队列负责将一端进来的入队请求在另一端出队发送至接收器,进而进行处理。
3.批量文件
与上两种实时方式不同的是,批量方式为非实时处理。批量文件方式以批量的方式进行数据导出、生成文件、传输文件与数据装载。
4.批量数据
通过批量数据处理的方式进行数据的导出、传输与装载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值