java分布式应用之初:实现系统间通信方式简介

我们知道大型的应用通常都会将整个系统拆分成多个子系统来实现,这些系统往往都会部署在不同的服务器上,对于java来说也可能是在不同的JVM上,但是这些子系统并不是独立的,他们需要通过互相通信来实现既定的业务功能,对于这样的java应用我们可以称之为java分布式应用。
      因此在谈分布式之初,我们需要简单的介绍下,如何实现系统间的通信,一般来说,对于java分布式应用目前系统间的通信主要有两种典型的方式。1,基于消息方式实现系统间的通信,2,基于远程调用方式实现系统间的通信。
     (1)消息方式的系统间通信:当系统接收到的某一条消息时则会根据该消息进行相应业务的处理。其主要基于网络协议来实现,常用的网络通信协议有:TCP/IP和UDP/IP两种,至于TCP和UDP之间的区别在此就不再鳌诉。另外一个方面,网络数据的读入,和写出方式又分为同步和异步两种。同步是我们最常用的BIO-阻塞式IO方式,即当发起IO的读或写操作时,均为阻塞式的,直到有数据读取或者写出时才会释放资源。相反的NIO是异步IO方式,当发起IO的读或写操作时是非阻塞式的,当有数据流读入或者写出时操作系统会提示相应的程序进行处理。
      因此基于消息方式的系统间通信主要有四种:TCP/IP+BIO TCP/IO+NIO UDP/IP+BIO UDP/IP+NIO
     (2) 基于远程调用方式实现系统间通信,远程调用的就是尽可能的使系统间的通信和系统内一样,让使用者感觉在使用一个完整的系统,但这其中也存在着一定的问题,因为系统间的调用都是要依靠网络来通信,因此如何将对象间的调用在网络之间来实现也是相当复杂的。对于java来说,目前实现远程调用的方式主要有RMI(Remote Method Invocation)和WebService两种。RMI是java用于实现透明远程调用的重要机制。在远程调用中,客户端仅有服务器端提供的借口。通过此借口实现对远程服务器端的调用。WebService是一种跨语言的系统间交互标准,在这个标准中,对外提供功能的一方以HTTP方式提供服务,该服务采用WSDL(Web Service Description Language)描述,在这个文件中描述服务所使用的协议,所期望的参数,返回参数格式等。调用端和服务端通过SOAP(Simple Object Access Protocol)方式来进行交互。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值