高性能
    高可用
    可伸缩
    如何基于Java实现系统间的通信?
    SOA
    BIO Blocking IO 阻塞IO
    NIO None-Bolcking IO 非阻塞 基于事件驱动的
    AIO 异步IO 也是基于事件驱动的
    1.1、基于消息方式实现系统间通信 都是以Java对象调用的方式实现的
    1.1.1基于Java自有技术
    TCP/IP+BIO 阻塞的TCP连接 一连接一线程
    使用连接池来管理Socket
    一个连接对应一个Socket,每一个Socket都都放一个新的线程中去
    所以这种方式支撑的连接数是有限的
    TCP/IP+NIO 一请求一线程
    UDP/IP+BIO
    UDP/IP+NIO
    1.1.2基于开源框架实现消息方式的系统间通信
    Mina
    Netty
    1.2基于远程调用方式
    1.2.1 Java自有技术(RMI 和WebService )
    RMI Remote Method Invocation
    第一章 分布式Java应用 - 图1
    RMI 要求服务端的接口都继承Remote接口
    WebService
    以HTTP的方式提供服务
    描述:WSDL
    交互方式:SOAP SImple Object Access Prototal
    如果想要对通信细节做一些处理,无论是RMI还是WebService都会比较麻烦
    1.2.2 Java开源框架
    Spring RMI
    CXF