CONNECTION_RESET(connection reset解决方案)

CONNECTION_RESET(connectionreset解决方案)Connectionreset具体的解决方案有如下几种:1、出错了重试;2、客户端和服务器统一使用TCP长连接;3、客户端和服务器统一使用TCP短连接。首先是出错了重试:这种方案可以简单防止“Connectio…

CONNECTION_RESET(connection reset解决方案)


Connection reset具体的解决方案有如下几种:1、出错了重试;2、客户端和服务器统一使用TCP长连接;3、客户端和服务器统一使用TCP短连接。

首先是出错了重试:这种方案可以简单防止“Connection reset”错误,然后如果服务不是“幂等”的则不能使用该方法;比如提交订单操作就不是幂等的,如果使用重试则可能造成重复提单。然后是客户端和服务器统一使用TCP长连接:客户端使用TCP长连接很容易配置(直接设置HttpClient就好),而服务器配置长连接就比较麻烦了,就拿tomcat来说,需要设置tomcat的maxKeepAliveRequests、connectionTimeout等参数。另外如果使用了nginx进行反向代理或负载均衡,此时也需要配置nginx以支持长连接(nginx默认是对客户端使用长连接,对服务器使用短连接)。

使用长连接可以避免每次建立TCP连接的三次握手而节约一定的时间,但是我这边由于是内网,客户端和服务器的3次握手很快,大约只需1ms。ping一下大约0.93ms(一次往返);三次握手也是一次往返(第三次握手不用返回)。根据80/20原理,1ms可以忽略不计;又考虑到长连接的扩展性不如短连接好、修改nginx和tomcat的配置代价很大(所有后台服务都需要修改);所以这里并没有使用长连接。最后的解决方案是客户端和服务器统一使用TCP短连接:我这边正是这么干的,而使用短连接既不用改nginx配置,也不用改tomcat配置,只需在使用HttpClient时使用http1.0协议并增加http请求的header信息(Connection: Close),源码如下:

httpGet.setProtocolVersion(HttpVersion.HTTP_1_0);

httpGet.addHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);

最后再补充几句,虽然对于每次请求TCP长连接只能节约大约1ms的时间,但是具体是使用长连接还是短连接还是要衡量下,比如你的服务每天的pv是1亿,那么使用长连接节约的总时间为:1亿*1ms=10^8*1ms=10^5*1s=27.78h

神奇的是,亿万级pv的服务使用长连接一天内节约的总时间为27.78小时(竟然大于一天),所以使用长连接还是短连接大家需要根据自己的服务访问量、扩展性等因素衡量下。但是一定要注意:服务器和客户端的连接一定要保持一致,要么都是长连接,要么都是短连接。


扩展资料:

引起connection reset该异常的原因有两个:1,如果一端的Socket被关闭(或主动关闭,或因为异常退出而 引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。

2,一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。简单的说就是在连接断开后的读和写操作引起的。

还有一种比较常见的错误“Connection reset by peer”,该错误和“Connection reset”是有区别的:服务器返回了“RST”时,如果此时客户端正在从Socket套接字的输出流中读数据则会提示Connection reset”;服务器返回了“RST”时,如果此时客户端正在往Socket套接字的输入流中写数据则会提示“Connection reset by peer”。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(www.hangzai.com)有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 5735363@.com 举报,一经查实,本站将立刻删除。

版权声明:本文内容由作者小仓提供,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至907991599@qq.com 举报,一经查实,本站将立刻删除。如若转载,请注明出处:http://www.cangchou.com/212797.html

(0)
小仓的头像小仓

相关推荐

  • 饱览什么意思,饱览是什么意

      饱览什么意思,饱览是什么意是“饱览”拼音:bǎolǎn,是一个汉语词汇,意思是博览的。  关于饱览什么意思,饱览是什么意以及饱览什么意思?,饱览什么意思奇珍异宝什么意思,饱览是什么意,饱览饱览的意思,饱览的意思的意思等问题,小编将为你整理以下知识:饱览什么意思,饱览是什么意  …

    网络快讯 2023年11月26日
    0
  • 低保大病救助有多少钱(免费治疗吗)

    低保大病救助有多少钱(免费治疗吗) 低保户是指人均收入低于低保标准的家庭,如果出现严重的疾病,低保户一般无力支付医药费,甚至是无力支付报销医保后的费用,这时候低保户可以申请大病救助。低保户申请大病救助能给多少钱?下面来了解下。大病医疗救助以“资助参合参保、基本诊疗费用减免、特…

    网络快讯 2023年12月4日
    0
  • 微信刷掌支付怎么开通 微信刷掌支付正式发布了吗

    微信刷掌支付来了,目前在北京地铁有这类支付服务,据悉,刷掌支付的安全性比刷脸支付更高,那么,微信刷掌支付怎么开通?下面小编就带来介绍。微信刷掌支付正式发布了吗据微信派,微信刷掌支付正式发布,用户目前可以在刷脸设备上进行刷掌操作。需要现在设备绑定个人微信账号,录入手掌纹样。消费时,将手掌对准支…

    网络快讯 2023年12月16日
    0
  • 聊天技巧怎么找话题,可以从周围环境中寻找话题

    聊天是人际交往中非常重要的一部分,而找话题则是聊天中的重要技巧,它可以让我们在交流中更加流畅、自然,同时也可以增进彼此之间的了解和感情。但是这个技巧一般人很难掌握,很多人都想知道聊…

    2024年2月27日
    0
  • 和田玉饰品价格高低如何?先来了解和田玉原石的价格趋势【띲띪띺띧】

    市场上和田玉种类名目繁多,不少消费者在购买的时候都会有一种无从下手的错觉,甚至经常会因为自身认知的局限性和周围人的误导,而做出错误的选择,经常花高价买了低价品。因此非常必有给大家做一个相对全面的和田玉市场价格介绍。和田玉原石的价格趋势现在和田玉市场上各种玉料的价格,总…

    网络快讯 2023年11月8日
    0
  • 下头是什么意思(下头是什么网络流行语)

    下头是什么意思(下头是什么网络流行语)  喜欢上网的小伙伴经常会遇到各种网络用语使用,大家第一次见到这些词往往是一头雾水。下头是什么意思呢?最近在网上经常看到网友发下头这个词,大家都在问下头是什么梗?下头和上头又是什么关系?花样百出的网络语吸引无数网友注意,下面来看下头梗的出处及含义介绍。 …

    网络快讯 2023年12月3日
    0
  • 少林武术有武术禅称号吗 蚂蚁新村9月24答案少林武术

    蚂蚁新村9月24日的问题是:少林武术有哪种称号?答对即可获得3个村民作为奖励,那么接下来就让我们一起了解一下蚂蚁新村9月24日答案,希望能给大家带来帮助。 少林武术有武术禅称号吗 …

    2023年10月2日
    0
  • 母亲节2022年是几月几日(情暖五月天 温馨母亲节)

    母亲节2022年是几月几日(情暖五月天温馨母亲节)4月25日上午,秦皇岛市东安里社区党委、妇联、新时代文明实践站联合秦皇岛市城管局益城公司开展纾民困、惠民心系列活动——“情暖五月天温馨母亲节”活动,对社区计生特服家庭、低保残疾母亲进行入户走访慰问,将象征着感恩、尊敬、健康长寿的康乃馨送…

    网络快讯 2023年12月4日
    0
  • 海紋石什麼樣的比較好,全面瞭解海紋石的功效、等級、品質、價格等知識!

    海紋石之選擇秘訣:深度解析海紋石的優劣、功效、等級、品質與價格 海紋石,這一源自大自然的瑰寶,自古以來便以其宛如海浪翻湧的紋路和深邃的色彩,吸引了無數人的目光。然而,在琳瑯滿目的市…

    网络快讯 2024年3月9日
    0
  • 静物是什么意思?静物拼音_静物近义词和反义词_静物造句

    静物是什么意思?静物的拼音和意思解释1[jìngwù]用作绘画、摄影对象的静止的物体,如水果、鲜花、器物等:~画。~写生。~摄影。静物的意思解释2静物的详细意思解释旧时以为没有生命的东西。对动物而言。《史记·五帝本纪》“动静之物”唐张守节正义:“动物谓鸟兽之类,静物…

    网络快讯 2023年11月29日
    0

发表回复

登录后才能评论