zoukankan      html  css  js  c++  java
  • 分布式Java应用与实践 (一)

    一) 分布式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.

  • 相关阅读:
    汉字转拼音的一个类(C#)
    对象当前正在其他地方使用 异常
    关于IE无法打开站点XX已终止操作问题
    C语言有以下几种取整方法:
    做发型屋碰到的
    glTexImage2D()函数的使用注意点
    python爬取百度图片——翻页式网站爬取
    js 中文传值乱码记录
    Wp7 日志 工具
    基于 Android NDK 的学习之旅 Java 方法映射到C中的签名(附源码)
  • 原文地址:https://www.cnblogs.com/codingforum/p/6177830.html
Copyright © 2011-2022 走看看