前置知识点:rpc基础,tcp基础rpc项目中的长连接与短连接的思考
http中长连接是指处理完一次http请求和响应之后不断开tcp连接,http短连接是指处理完一次http请求和响应之后断开tcp连接(一般是服务器断开,至于为什么是服务器断开,则又是一篇小文章了hhh)。与tcp和http的长连接短连接的异同
这里又涉及一个平时很容易弄错的地方了,比如tcp的包活机制(keep-aliving)与http协议的长连接(Connection: Keep-Alive)英文很相似,但是本质上不是一个东西。客户端与服务器有哪几种连接模式与利弊分析
这些应该是一些比较成熟的rpc框架实现的,中间配有负载均衡器才能实现连接池的操作。长连接不是银弹
如果是客户端与服务端直连,本质上就是两种:长连接和短连接。
可以考虑一篇新文章,服务器端口用尽怎么办:未开始:服务器端口用尽
我的rpc项目没有实现单独模块的负载均衡,而是直接在客户端实现负载均衡的,因此下面的这些只是一些设计上的学习。L4 负载均衡器
L7均衡器无论是长连接还是短连接都不会有L4在长连接情况下的负载均衡的问题,原因是因为L7可以进行HTTP协议的解析。L4负载均衡在长连接情况下导致负载均衡在某种意义下失效的本质原因是负载均衡器在第一次连接的时候负载均衡后,后续不会再负载均衡了。
可以看到L7的负载均衡无论是长连接还是短连接都没有负载均衡“失效”的问题,因为L7的负载均衡器是可以读取到请求的具体内容的。因此使用长连接还是短连接必须要根据实际情况来确定,不能无脑的选择长连接。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |