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)
小仓的头像小仓

相关推荐

  • 医用酒精有什么用,酒精有什么作用

      医用酒精有什么用,酒精有什么作用医用酒精是我们大家很多人都使用过的一种药品,通常都是在需要消毒的时候使用酒精,那酒精除了消毒还有什么用呢,因此我们便来了解一下医用酒精有什么用?医用酒精有腐蚀性吗?的。  关于医用酒精有什么用,酒精有什么作用以及酒精有什么作用,医用酒精和食用酒精一样吗,伤口出…

    网络快讯 2023年11月22日
    0
  • 黄水晶寓意与作用?黄水晶属于什么档次的宝石?

    黄水晶寓意与作用 黄水晶是一种非常受欢迎的宝石,它具有丰富的寓意与作用。黄水晶属于中档次的宝石,具有较高的价值。 黄水晶的寓意 黄水晶寓意着财富、健康和幸福。它被认为是一种能够带来…

    网络快讯 2024年3月9日
    0
  • win10系统限制某个应用的使用时间 win10电脑怎么设置上网时间限制?

    win10电脑怎么设置上网时间限制?答:win10电脑设置里上网时间限制。1.再点开始菜单上的设置,直接点击网络和Internet。2.再点击左边的数据建议使用量。3.直接点击系统设置限制。4.你选限制修改类型就可以了。这样win10电脑就可以设置连接上网时间限制完成了。wi…

    网络快讯 2023年11月21日
    0
  • 翻花绳有什么好处 下列童年游戏中通常需要2个小朋友一起玩的是什么

    每个人的童年都是不一样的,90后的童年是有很多有趣的小游戏的,那么下列童年游戏中通常需要2个小朋友一起玩的是?下面小编带来:蚂蚁庄园6月1日答案介绍。下列童年游戏中通常需要2个小朋友一起玩的是正确答案:翻花绳。解析:翻花绳就是用一根绳子结成绳套,一人以手指编成一种花样,另一人用手指接过来…

    网络快讯 2023年12月16日
    0
  • 麦当劳全职员工累吗 麦当劳适合长期工作吗

      1、麦当劳全职员工不累的,麦当劳不适合长期工作的。  2、麦当劳上班是不累的。他这个服务行业工资薪酬还是比较高的,只负责做一些美味的食品就可以了。麦当劳粉红姐姐不适合长期做。麦当劳粉红姐姐就是带领小朋友做小游戏,唱歌跳舞,让小朋友参观麦当劳工作站,给小朋友挑选生气礼物等。无法学习新东西所以…

    网络快讯 2023年11月28日
    0
  • 超级甜美可爱的网名昵称

    你睡醒了吗猫也不知道人间小甜饼吃点小甜饼趁夜色偷亲跨星河偷抱.贩卖太阳赎回月亮小熊藏进冬天万物开始冬眠捞一个月亮拾一颗星星已有猪猪猪猪宝贝小幸运小幸福幼儿园老大老大小跟班养猪的大叔大叔养的猪苦瓜脸小姐超搞笑先生月亮是我啃弯的太阳是我搓圆的菇凉别逗了骚年别笑了西红柿西红柿你个番茄.马铃薯马铃…

    网络快讯 2023年11月16日
    0
  • 好听顺口的可爱的情侣网名

    我去捉星星别和我歪歪瞌瞌不打瞌啦芒了个果的我的牙不疼了o吃饭睡觉打熊吃一只鹿Lab卷心菜奶瓶瓶OO我从小就爱叭叭想养一只小羊oo蓝莓罐罐呀加一份芋圆是我小z呐生了一个米饭一份小薯一包乐事徐片江上日落晴天里的小路山…

    网络快讯 2023年11月16日
    0
  • 超七水晶什麼時候火的,全面瞭解超級七水晶!

    超七水晶何時開始走紅?全面瞭解超七水晶的價格、功效、禁忌與保養 超七水晶,又稱超級七水晶、神秘七水晶,是近年来备受追捧的一种水晶。它以其独特的美感与能量特性,赢得了眾多水晶爱好者的…

    网络快讯 2024年3月9日
    0
  • 自考选择经济学专业就业前景怎么样

    当学生选择他们的专业时,会有一些困惑吗?在选择专业时,不仅要考虑个人利益,还要考虑所选专业是否有助于未来就业。在选择专业时,许多学生不仅要关注兴趣,还要考虑就业前景。有些学生想选择经济学专业,但他们不知道经济学专业的就业前景,好吗?经济学专业学生需要学习的课程有:国际经济学、金融、计量经济…

    网络快讯 2023年11月15日
    0
  • 天官赐福小说在哪个软件看免费 免费观看小说的APP合集

    如果大家想要去观看小说的话,那么就需要有特定的APP来帮助自己,在市面上用户能挑选的种类很多,下面小编就来和大家说下天官赐福小说在哪个软件看免费,要知道其分类上还是非常齐全的,如果想要去实时的观看各类精彩的小说作品,那么就和小编一起来接着往下看看究竟应该怎么去挑选吧。1、《书旗小说》要知道在这…

    2023年12月12日
    0

发表回复

登录后才能评论