主要是用来记录一下自己对于连接的一些思考,原因是发现自己对很多概念都太模糊了需要明确。

一、长连接与短连接

1、什么是长连接?什么是短连接?

答:长连接、短连接主要是看你怎么用(更大程度上是各个层级串起来链接的机制究竟如何)而不是不是说设置了什么参数就是长连接、设置了另外一个参数就是短连接。但从字面意思来看:所谓短连接是指每次来一个请求都创建一个链接,请求结束后链接断开,如此反复;长连接则是连接会被维持,每一有请求过来需要用的时候就取出来直接用。当然在实际场景中你不能仅仅根据一个层面的代码来判断。举个例子我的mongo_proxy底层调用的是mongo的go驱动。从mongo_proxy的业务层面确实是每个请求来的时候都new了一个client,但是着并不意味着我们这里一定是短连接,因为newclient本质上调用的是go驱动;如果go驱动已经维护了一个连接池这里每次newclient的语义可能只是从go driver层面维护的连接池中取出一个空闲连接过来用。这种场景下依然是长连接、有连接池,只不过驱动封装好了不让业务方感知了而已。

2、优劣与使用场景

短连接的优点是简单,不需要做连接的管理;适用场景就是连接使用很低频的场景;

长连接适用于频繁使用连接的场景,例如对于操作数据库这种场景是肯定要使用长连接的否则没来一个请求都频繁的创建(与销毁)连接的代价太高了。缺点也很明确,那就是要进行连接管理稍微麻烦一些。

10.MongoDB连接模型(长连接vs短连接vs连接池)相关推荐

  1. druid不能close mysql连接_druid长时间无操作无法保持连接!!

    纯原生JAVA项目中,Druid作为MySQL连接池时(MySQL默认为8小时没操作就断开),测试场景为10小时不进行任何查询,就算配置了testWhileIdle=true,也不能保持连接,配置如下 ...

  2. golang 短连接和长连接 超时处理

    作为一个可能会和很多Client进行通讯交互的Server,首先要保证的就是整个Server运行状态的稳定性,因此在和Client建立连接通讯的时候,确保连接的及时断开非常重要,否则一旦和多个客户端建 ...

  3. TCP短连接与长连接

    tcp长连接和短连接 2007/05/10 14:09 TCP/IP通信程序设计的丰富多样性 (转) 刚接触TCP/IP通信设计的人根据范例可以很快编出一个通信程 序,据此一些人可能会认为TCP/IP ...

  4. HTTP - 长连接 短连接 长轮询 短轮询 心跳机制

    错觉与突然的察觉 大多数人都知道HTTP1.0不支持长连接,知道HTTP1.1支持长连接. 这是业界的一个常识. 然而这样的描述导致了一些不做网络底层开发的开发者都下意识的认为HTTP1.1是一个可以 ...

  5. httpclient 设置短连接_HTTP长连接和短连接(转)

    HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的 ...

  6. Socket 短连接、长连接_YTmarkit的空间_百度空间

    Socket 短连接.长连接_YTmarkit的空间_百度空间 Socket 短连接.长连接_YTmarkit的空间_百度空间 Socket 短连接.长连接 socket Socket协议的形象描述 ...

  7. Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 因为做语音通信要用到,长连接,这里对各个协议的长短连接做个总结 刚接触HTTP请求就听说过HTTP ...

  8. java长连接心跳包_socket中的短连接与长连接,心跳包示例详解

    TCP连接简介 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接, 当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接, 连接的建立是需要三 ...

  9. php微信短网址生成,如何把微信文章网址长连接(长网址)转换为短连接(短网址)...

    为什么要把长连接转为短连接? 1.专业一点:长连接不利于网站的SEO,链接越长权重越低: 2.通俗一点:链接越长越不利于网络传播,不利于推广,更严重的是有些网站会把长网址屏蔽掉. 3.另外有些平台的内 ...

  10. http协议之长连接与短连接服务器,长连接短连接

    HTTP 协议与 TCP/IP 协议的关系 HTTP 协议是应用层的协议,而 TCP 协议是传输层的协议,IP 协议是网络层的协议. IP 协议主要解决网络路由以及寻址等问题,而 TCP 协议主要解决 ...

最新文章

  1. log4j:WARN Error initializing output writer. log4j:WARN Unsupported encoding?
  2. 李飞飞:物体识别之后,计算机视觉的进展、目标和前景何在?
  3. jsp 修改的员工select怎么_jdbc+jsp实现简单员工管理系统|chu
  4. Silverlight专题(WatermarkedTextBox使用)--摘录 很受用
  5. 华为手机鸿蒙系统名单,鸿蒙系统:前三批升级名单曝光,有荣耀手机!
  6. python安装pyqt5 qml_PyQt5:PyQt5程序打包2
  7. 给Future一个Promise
  8. mongodb 导出 带条件_将 MongoDB 导出成 csv
  9. 循环神经网络(RNN)相关知识
  10. 编写jmeter测试用例_JMeter 编写接口测试用例遇到的问题及解决
  11. web服务优化与健壮性改进_创建健壮的微服务架构所涉及的组件
  12. Zabbix3.4安装详细步骤
  13. 使用composer下载依赖包下载失败的解决方法
  14. linux uuid/uuid.h
  15. ExtJs4.2——布局
  16. 使用Docker Compose部署SpringBoot应用
  17. 使用 golang-plugins 时要避免的事情
  18. 一起学习x86/x64知识(一)
  19. Zcash下一次NU5升级——基于Halo 2
  20. Java入门基础 安装并配置Java软件和JDK

热门文章

  1. labVIEW学习笔记(二)公式节点、数组
  2. linux截图工具shutter 下载,在Ubuntu 19.04系统中安装Shutter截图工具的方法,附删除的方法...
  3. jsp页面中javascript嵌套java代码段
  4. pycharm python3.5 神奇的导入问题
  5. 【poj1284-Primitive Roots】欧拉函数-奇素数的原根个数
  6. Swift - 通过url地址打开web页面
  7. HTTP协议基本原理简介(三)
  8. Linux常用命令介绍(一)——文件与文件夹操作相关命令
  9. L2TP 配置实例——Client-Initiated
  10. 动态路由之RIP协议、Bellman-Ford算法