两种系统间通信方式的比较

来源:互联网 发布:608所怎么样 知乎 编辑:程序博客网 时间:2024/04/30 07:32

         对分布式java应用来说,如何实现系统间通信?常见的两种典型方法如下:(整理自bluedavy的《分布式java应用:基础和实践》)

系统间通信方式基于消息基于远程调用协议TCP/IP、UDP/IPHTTP

java实现

TCP/IP+BIO:socket和serverSocket
TCP/IP+NIO:SocketChannel和ServerSocketChannel
UDP/IP+BIO:DatagramSocket和DatagramPacket
UDP/IP+NIO:DatagramChannel和ByteBufferRMI:UnicastRemoteObject和LocateRegistry
Web Service框架实现Mina--NIO实现,同时支持TCP和UDP
NettySpring RMI
CXF(包括xfire)/Axis性能影响点连接池、连接复用、短(长)链接序列化(反序列化)
反射

        java系统间通信的框架和技术还有很多,但通常都是基于上述两种进行扩展的,掌握了其通信原理就容易理解其他的。