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

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

猜你喜欢

转载自xiaoyuwei.iteye.com/blog/1135532