码迷,mamicode.com
首页 > 编程语言 > 详细

分布式Java应用与实践 (一)

时间:2016-12-14 09:38:02      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:http   方法   数据   远程调用   .com   bsp   blog   tcp   分布式   

一) 分布式Java应用

1.1 基于消息方式实现系统间的通信

数据传输

TCP/IP 可靠的网络传输协议,首先给通信双方建立链接之后再进行数据传输,保证链接及数据传输的可靠,因此会牺牲一些性能

UDP/IP 不保证数据一定到达的网络传输协议,并不直接给通信的双方建立链接而是发送到网络上进行传递。性能表现较好但是会出现数据乱序或丢失。

数据处理

同步IO:

BIO(Blocking IO) - 当发起读或者写操作时均为堵塞方式,只有当程序读到了流或者将流写入操作系统后才会释放资源

NIO(Non-blocking IO) - 基于事件驱动的思想,采用Reactor模式实现。发起读或者写操作时为非堵塞方式,当Socket有流可读或者可写入Socket时,操作系统会通知应用程序进行处理,应用再将流读取到缓冲区或写入操作系统。

异步IO: AIO -  基于事件驱动的思想,采用Proactor模式实现。当进行读写操作时,只需直接调用API的read或write方法,这两种方法都是异步的。有流可读入时,操作系统会将可读的流传入read方法的缓冲区,并通知应用程序。操作系统将write方法传递的流写入完毕时,操作系统会主动通知应用程序。

关于BIO, NIO, AIO,参考http://ihenu.iteye.com/blog/2247618

基于Java自身包实现的系统间通信方式有TCP/IP+BIO, TCP/IP+BIO, TCP/IP+NIO, UDP/IP+BIO, UDP/IP+NIO

2. 基于远程调用方式实现系统间的通信

可通过调用本地的一个Java借口方法,透明的调用远程的Java实现。主要有RMI和WebService.

 

分布式Java应用与实践 (一)

标签:http   方法   数据   远程调用   .com   bsp   blog   tcp   分布式   

原文地址:http://www.cnblogs.com/codingforum/p/6177830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!