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

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

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

java实现

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

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

你可能感兴趣的:(java,框架,socket,tcp,service,扩展)