首页 > 代码库 > 异步服务之间的调用方式

异步服务之间的调用方式

本文为原作,转载请发自原文出处 http://www.cnblogs.com/jermmy/p/6752950.html,谢谢合作!

对与异步服务之间的调用方式LZ只使用了future和callback两种方式,其实异步服务之间的调用有以下几种

1.oneway

   oneway 是一种只管发送而不管结果的交互方式,不关心服务方的请求结果如何,属于一种单向的通知

2.future

   多线程获取数据以及异步交互获取数据使用callable和future的组合是多服务中经常用到的,该接口在juc包中,callable区别与runnable接口是该多线程接口可以返回数据,通过future接收结果,future所示一种能够主动控制超时、获取结果的方式

3.callback

   callback是发送请求后调用方主线程继续执行方法逻辑,待服务方响应后会回调调用方的方法或者接口执行回调操作

4.消息中间件(mq、kafaka)

    使用消息中间件发送消息

 

服务之间的调用难免有可能网络的失败或者服务方和调用放的事务失败,这样导致数据的不一致性问题,对于一致性问题有强一致性和弱一致性问题,有兴趣的同学可以自己研究研究(LZ也未深入),后续深入日研究会补上这块.

 

异步服务之间的调用方式