谈谈长连接和NIO

原创 2015年05月12日 11:28:07

最近在看dubbo的官方文档:

dubbo协议(注:dubbo支持多协议),通过使用长连接减少握手,通过NIO及线程池在单连接上并发拼包处理消息,通过二进制流压缩数据,比常规HTTP等短连接协议更快,适合小数据量大并发的服务调用

基于NIO的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小

1,TCP短连接和TCP长连接
TCP短连接,client和server一次读写后就会关闭,所以管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段。适合传输大数据,如文件、视频等
TCP长连接,client和server完成一个读写后,连接不会主动关闭,后续读写操作会继续使用这个连接。需要通过TCP保活功能探测长连接的存活情况,关闭一些长时间闲置的长连接,限制每个客户端的最大长连接数。减少握手次数,适合小数据大并发。

未完待续…

相关文章推荐

DUBBO的通讯方式(一)NIO,长连接心跳

1.前言 最近在研究dubbo框架的时候,发现在protocal协议的选择上(即选择哪种协议用于实现远程调用)目前有dubbo,rmi,http等 dubbo是默认推荐的方式,使用长连接,ni...

基于NIO的长连接的实现已开放到github

长连接相对于短链接来讲,可以减少连接的建立和释放的开销,进而提高通信的效率,而长连接最大的问题是对于连接池中连接的维护。...

NIO的长连接及NIO的内存泄漏

使用NIO进行socket编程时,需要SelectionKey key将chanel和selector关联,selector负责注册到其上的channel的就绪选择。下面的两行代码经常用到:key.a...

基于Apache Mina实现的TCP长连接和短连接实例

 基于Apache Mina实现的TCP长连接和短连接实例              分类: program 2011-10-24 14:15 8243人阅读 评论(15) 收藏...

基于 java nio 长连接实现的聊天室

基于 java nio 长连接实现的聊天室

说说nio----1

既然说到了nio,就得谈以下几个问题 为什么会出现新io,"旧io"有什么问题吗? ok,一步一步来,先给大家看几个例子: 1单线程的服务器程序 import java.net.*; import j...

【Java.NIO】NIO的长连接及NIO的内存泄漏

转自: http://blog.csdn.net/zhouhl_cn/article/details/6565319 使用NIO进行socket编程时,需要SelectionKey ...

TCP 三次握手 长连接/短连接

TCP 三次握手 长链接 短连接

关于ServerSocketChannel支持的最大连接数测试与分析

实测结果: 单Channel对应320个客户端没有问题,超过了就会报错,可能和Channel下key处理大小有关?   客户端报错: java.net.ConnectException: Co...

BIO与NIO、AIO的区别(这个容易理解)

IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO      在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:谈谈长连接和NIO
举报原因:
原因补充:

(最多只允许输入30个字)