码迷,mamicode.com
首页 > 其他好文 > 详细

MINA:随笔一

时间:2014-07-29 21:02:22      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:http   使用   io   数据   问题   代码   工作   时间   

一、MINA简介

  在介绍Mina之前,要先介绍一下NIO和BIO这两个名词:

  BIO:Blocking IO,阻塞IO,每个客户端的请求对应一个线程处理。使用BIO有一个问题,当客户端的连接请求过多时,服务端就会需要很多线程来处理客户端的请求,这样很容易使得服务器资源消耗过度等问题。

  NIO:Non-Blocking IO,非阻塞IO,这时不是每个请求对应一个线程,而是有效的请求对应一个线程,当连接没有数据时,并没有工作线程对这个请求进行处理。

  BIO和NIO最大的区别:在BIO中,如果你发送了一个请求,在服务器没有回复之前会一直等待。在NIO中,你并不需要调用之后等待一个结果,你发出命令之后,当结果出来之后它会主动通知你,在结果没出来这段时间内,你可以去做其他的事情。

  MINA是一个专门设计既能工作在客户端又能工作在服务端的网络框架。MINA目前不仅支持TCP、UDP传输,同样支持串口和APR传输。

二、何时使用MINA

  MINA虽然很不错,但我们平时使用的时候也要根据自己的情况来使用那个框架。简单来说,MINA适用下面的情况:

  1.当你没有特别的性能要求时,使用MINA是一个很不错的选择,几十行代码就可以轻松建立好服务器。

  2.用户连接请求非常高时。在某个临界点之前,BIO是比NIO性能更好的,但是超过了这个临界点,NIO就能更好的处理。另一方面,在整个开发过程中,MINA开发使用的时间更少。

  3.在一些已经被证明的系统中。

  4.现有协议的支持。MINA附带各中网络协议的实现,例如:HTTP, XML, TCP, LDAP, DHCP, NTP, DNS, XMPP, SSH, FTP... 在某些情况下,MINA不仅可以做为一个NIO架构,也可以作为各种网络层协议的实现。

先到这里了,由于自己也是初学,有什么不到位的地方希望大家能够指出。

MINA:随笔一,布布扣,bubuko.com

MINA:随笔一

标签:http   使用   io   数据   问题   代码   工作   时间   

原文地址:http://www.cnblogs.com/lkgongBlog/p/3876059.html

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