Apache MINA 的网络应用的架构

基于 Apache MINA 开发的网络应用,有着相似的架构。图 1中给出了架构的示意图。

图 1. 基于 Apache MINA 的网络应用的架构

如 图 1所示,基于 Apache MINA 的网络应用有三个层次,分别是 I/O 服务、I/O 过滤器和 I/O 处理器:

  • I/O 服务:I/O 服务用来执行实际的 I/O 操作。Apache MINA 已经提供了一系列支持不同协议的 I/O 服务,如 TCP/IP、UDP/IP、串口和虚拟机内部的管道等。开发人员也可以实现自己的 I/O 服务。
  • I/O 过滤器:I/O 服务能够传输的是字节流,而上层应用需要的是特定的对象与数据结构。I/O 过滤器用来完成这两者之间的转换。I/O 过滤器的另外一个重要作用是对输入输出的数据进行处理,满足横切的需求。多个 I/O 过滤器串联起来,形成 I/O 过滤器链。
  • I/O 处理器:I/O 处理器用来执行具体的业务逻辑。对接收到的消息执行特定的处理。

创建一个完整的基于 Apache MINA 的网络应用,需要分别构建这三个层次。Apache MINA 已经为 I/O 服务和 I/O 过滤器提供了不少的实现,因此这两个层次在大多数情况下可以使用已有的实现。I/O 处理器由于是与具体的业务相关的,一般来说都是需要自己来实现的。

时间: 2024-08-08 06:46:41

Apache MINA 的网络应用的架构的相关文章

Apache Mina

初步接触RPC通信框架,目前有很多优秀的RPC框架,今天我参考该博文:http://www.cnblogs.com/xuekyo/archive/2013/03/06/2945826.html 学习了Aapche Mina通信框架.博主介绍的非常详细,包括Mina的源码流程,这里通过阅读博主的文章进行了学习记录,方便以后需要时使用. Apache Mina 是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可扩展性的网络应用程序.它提供了一个通过Java NIO在不同的传输例如TCP/IP

Apache Mina(一)

Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架.它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的.事件驱动的.异步的API. Mina包的简介: org.apache.mina.core.buffer 用于缓冲区的IoBuffer org.apache.mina.core.serviceorg.apache.mina.transport.* 用于提供连接的service org.apache.mina.core.session 用于提供两端

图解Apache Mina

Apache MINA 是一个用于简化开发构建高性能.高可扩展的网络应用框架.通过JAVA NIO在各种传输协议(如:TCP/IP.UDP/IP)上提供抽象的事件驱动异步API Apache MINA可以称为:NIO框架库.服务端客户端框架库.一个网络套接字库 特性 为各种传输协议提供统一API 提供类似servlet filter的过滤链路支持 可定制化线程模型 开箱即用的 SSL · TLS · StartTLS 超载保护和传输流量控制 易于集成(如:与Spring集成) 可平滑过渡到Net

Apache MINA - Mina 特性说明

Mina 特性说明 MINA 是一个简单而特性强大的网络应用框架,它提供如下特性 : 提供针对多种传输类型的 API : TCP/IP & UDP/IP (通过 Java NIO) 串口通信 (RS232) (通过 RXTX) JVM 内部管道通信 你可以实现自己的网络协议 ! 使用过滤器接口(Filter)作为扩展点 ; 同 Servlet 过滤器很像 低层和高层 API : 低层 : 使用 ByteBuffers 高层 : 使用用户定义的消息对象和编码 高度自定义的线程模型: 单线程 一个线

网络通信框架Apache MINA

Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架.当前发行的 MINA 版本支持基于 Java NIO 技术的TCP/UDP 应用程序开发.串口通讯程序. Mina 的应用层: 一个设计成熟的开源框架,总是会仅可能的减少侵入性,并在整个项目中找到合适的位置,而不应对整个项目的构架设计产生过多的影响,图 1 就是 MIN

Apache Mina 2.x 框架+源码分析

源码下载 http://www.apache.org/dyn/closer.cgi/mina/mina/2.0.9/apache-mina-2.0.9-src.tar.gz 整体架构 核心过程(IoAcceptor 与 IoConnector通讯) 客户端: 1)通过SocketConnector同服务器端建立连接. 2)链接建立之后I/O的读写交给了I/O Processor线程,I/O Processor是多线程的. 3)通过I/O Processor读取的数据经过IoFilterChain

Apache Mina的用法

Apache MINA是"Multipurpose Infrastructure for Network Applications"的简写,它是用于开发高性能和高可扩展性的网络应用程序的基础框架.该框架有如下优点:        1.使用该框架来开发的网络应用程序代码结构清晰明了:        2.该框架完成了底层的线程管理,省去了处理底层I/O和线程并发等复杂工作:        3.该框架内置的编码器可以满足大多数用户的需求,省去了开发人员对消息进行编码解码的工作;       

Apache Mina开发手册之二

Apache Mina开发手册之二 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 四.NIO概述 NIO API是Java 1.4版引入的,NIO的意思是非阻塞的I/O通信.要知道Mina的NIO是基于NIO-1开发的,而在JDK 7中引入了NIO-2的库,但Mina还没有从NIO-2中获得各方面的提升,因此Mina还是基于NIO-1的.虽然Oracle官方是把NIO的N作为New的解释,但业界普遍把这个N解释为Non-Blocking. Mina

apache MINA之心跳协议运用

摘要 心跳协议,对基于CS模式的系统开发来说是一种比较常见与有效的连接检测方式,最近在用MINA框架,原本自己写了一个心跳协议实现,后来突然发现MINA本身带有这样一个心跳实现,感于对框架的小小崇拜,在实践的同时研究了一下! MINA TCP/IP SOCKET 心跳 MINA本身提供了一个过滤器类: org.apache.mina.filter.keepalive . KeepAliveFilter ,该过滤器用于在IO空闲的时候发送并且反馈心跳包(keep-alive request/res