Part5_事务与分布式事务原理与实现_沈询

Part5_事务与分布式事务原理与实现_沈询

 

http://v.youku.com/v_show/id_XMTMwMjY5NDgwOA==.html?f=23339462

 

怎麽玩都是图灵机

d

 

TCP关闭的时候要等到两倍的时间没有收到回复才算超时,才能关闭,导致一直time_wait

 

分布式事务终极解决方法:看情况,如果一定要共享数据,就共享数据,如果可以消息传递,就使用消息传递

消息传递:网络延时,并发编程困难,光速并不是无限的,光纤存储,光纤宽带接入

共享数据:硬件瓶颈

 

 TIME_WAIT是什么?
TIME_WAIT是表示系统在等待客户端响应,以便再次连接时候能快速响应。TCP协议的三次握手中规定发起socket主动关闭的一方 socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime)。我们看下tcp的三次握手机制:

从 上面的示意图可以看得出来,TIME_WAIT是主动关闭连接的一方保持的状态,从而进入TIME_WAIT的状态,然后在保持这个状态2MSL(max segment lifetime)时间之后,彻底关闭回收资源。为什么要这么做?明明就已经主动关闭连接了为啥还要保持资源一段时间呢?这个是TCP/IP的设计者规定 的,主要出于以下两个方面的考虑:

1.防止上一次连接中的包,迷路后重新出现,影响新连接(经过2MSL,上一次连接中所有的重复包都会消失)
2. 可靠的关闭TCP连接。在主动关闭方发送的最后一个 ack(fin) ,有可能丢失,这时被动方会重新发fin, 如果这时主动方处于 CLOSED 状态 ,就会响应 rst 而不是 ack。所以主动方要处于 TIME_WAIT 状态,而不能是 CLOSED 。另外这么设计TIME_WAIT 会定时的回收资源,并不会占用很大资源的,除非短时间内接受大量请求或者受到攻击。
————————————————
版权声明:本文为CSDN博主「_lynnwu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wlzjsj/article/details/52248827

f

 

posted @ 2015-08-12 22:27  huangchaolilli  阅读(230)  评论(0)    收藏  举报