分布式java应用
2021-06-18 20:46:59 9 举报
AI智能生成
java分布式应用介绍
作者其他创作
大纲/内容
说明
大型应用,通常会拆分为多个子系统来实现。
对Java来说,这些子系统可能部署在同一台机器的多个不同的JVM中,也可能部署在不同的机器上,
但这些子系统又不是完全独立的,要相互通信来共同实现业务功能。
对于此类Java应用,称之为分布式Java应用。
网络通信
协议
TCP/IP
UDP/IP
Multicast
IO
BIO
BIO就是当发起IO的读或写操作时,均为阻塞方式,只有当程序读到了流或将流写入操作系统后,才会释放资源。
NIO
当发起IO的读或写操作时,是非阻塞的;当Socket有流可读或可写入Socket时,操作系统会通知相应的应用程序进行处理,应用再将流读取到缓冲区或写入操作系统。
AIO
为异步IO方式。从程序角度而言,当进行读写操作时,只须直接调用API的read或write方法即可。 这两种方法均为异步的。对于读操作而言,当有流可读取时,操作系统会将可读的流传入read方法的缓冲区,并通知应用程序;对于写操作而言,当操作系统将write方法传递传递的流写入完毕时,操作系统主动通知应用程序。
较之NIO而言,AIO简化了程序的编写,流的读取和写入都由操作系统来代替完成。
消息方式的系统间通信
基于java包
TCP/IP
Socket、ServerSocket
SocketChannel、ServerSocketChannel
UDP/IP
DatagramSocket、DataGramPacket
DatagramChannel、ByteBuffer
Multicast
MuticastSocket、DatagramSocket
SRM
基于开源框架
Mina
Mina是Apache的顶级项目,基于Java NIO构建,同时支持TCP/IP和UDP/IP两种协议。Mina对外屏蔽了Java NIO使用的复杂性,并在性能上做了不少的优化。
性能角度
连接管理
连接池
连接复用
短连接、长连接
远程调用方式的系统间通信
基于java包
RMI
WebService
基于开源框架
Spring RMI
Apache CXF
性能角度
序列化、反序列化
反射
0 条评论
下一页