什么是分布式java应用
大型应用通常会拆分成很多小的子系统来实现,这些子系统可能部署在同一台机器上的多个jvm上,也可能部署在不同机器的jvm上,但它们并不是安全独立的,相互之间会产生通信来实现业务功能,这就是分布式java应用。
分布式应用典型的实现方法
1.基于消息方式实现系统间通信
消息方式的系统间通信,基于网络协议来实现,常用的有TCP/IP和UDP/IP。
TCP/IP是一种可靠的网络数据传输协议。它通过三次握手来建立起TCP连接,之后再进行数据的传输。传输完成之后,TCP的连接的拆除需要发送四个包,因此称为四次挥手。TCP/IP保证数据传输的可靠性,但性能较UDP/IP要低。
UDP/IP是一种在通信的双方间并不建立连接,而是发送到网络上进行传递,因此可靠性并不高,会产生数据丢失等问题,但性能上表现要好于TCP/IP。
2.基于RMI实现系统间通信
系统间通信,可以通过调用本地的一个java接口的方法,透明的调用远程的java实现。具体的细节则由java或框架来完成,这种方式主要用来实现基于RMI和WebService的应用。