读书人

分布式服务怎么实现服务回调

发布时间: 2012-10-27 10:42:26 作者: rapoo

分布式服务如何实现服务回调

分布式服务如何实现服务回调
? 服务回调:? 是服务提供者给调用者提供的一个功能,允许在执行服务的过程中,当满足一定条件时,回调用户的接口方法。
? Java实现回调步骤主要如下:
?? 1. 服务提供者定义回调接口,并提供包含回调接口参数的服务方法,在方法实现中调用回调接口参数的方法。
?? 2. 客户端实现回调接口
?? 3. 客户端将回调接口实现对象作为参数,调用服务方法.
?? 当客户端和服务端在同一个jVM中,上面的步骤其实就已经OK了,也是非常简单的。
?? 但是如果客户端和服务端不在一台服务器上,上面这个过程就不能实现了。
?? 因为客服端的实现对象是在客户端的内存中,无法传给服务端,即使可以在服务器创建一个,但这样只是操作了服务器端的内存数据,客户端内存是没有变化的,根本就没效果
?? 仔细分析下这个场景:
?? 1. 服务提供者在客户端其实是一个代理(见服务总线),即使客户端不知道,因为已经被服务总线透明化了
?? 2. 同理,客户端的回调接口实现对象在服务提供者那其实也应该是一个代理(服务方法应该不知道)。该代理远程调用远程调用客户端的接口对象实现服务.
? 那么我们的流程就出来了:见下一篇:

读书人网 >软件架构设计

热点推荐