1 Socket 长链接 短连接
ans:
- 短连接一般只会在客户端/服务器间传递一次读写操作,管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段。
- 长连接是双方建立连接,完成一次读写之后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。如果一个给定的连接在两小时内没有任何的动作,则服务器就向客户发一个探测报文段,检查客户端是否仍然存活。
但是2个小时的时间太久,在长连接的应用场景下,客户端一般不会主动关闭它们之间的连接,客户端与服务器之间的连接如果一直不关闭的话,随着客户端连接越来越多,服务器早晚有扛不住的时候,这时候服务端需要采取一些策略,如关闭一些长时间没有读写事件发生的连接,这样可以避免一些恶意连接导致服务端服务受损;或是限制每个客户端的最大长连接数。
参考:http://www.cnblogs.com/beifei/archive/2011/06/26/2090611.html
2 如何保证幂等
ans : - 全局唯一ID
- 插入 + 唯一索引
- 版本号控制
- 状态机控制
参考:https://blog.csdn.net/wangyan9110/article/details/70953273
网友评论