-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
研发请求:自适应服务器故障分流[解决代理服务器不稳定] #145
Comments
都会有的 |
和这个健康检查不是一回事,我说的是那种无感切换,发起连接超时后自动向后备服务器发起连接 |
主动式检测我觉得不太好,因为有间歇性发包的规律,和浪费一点点带宽和资源 |
不同意。 |
不同意,不能实现. |
客户端怎么不能实现了? |
客户端不能实现连接保持切换,只能实现主动检测,你什么都不懂。 |
VLESS的目标是规避探测。故障转移功能,应该由客户端发起可用性检测,比如5秒钟1次的可用性检测,不知道这是不是你所说的主动性检测。 而像你描述的无感知切换会遇到2个问题, |
不是,我的意思是客户发起的连接如果在5秒内没有回应的话,就重发数据到备用服务器,浏览器不断连 |
至于客户端判断服务器故障还是访问目标故障的话,可以添加一个测试回应机制。 |
这个很显然是原理上理解有些错误。首先浏览器并不存在断连这种说法,应该说是访问超时,也就是在一定时间内没有收到握手信息浏览器就会显示错误。
tcping肯定是行不通的,那只是判断服务器能否接受tcp传入而已,甚至没有可用性检测的作用。浏览器没有网络错误也是有问题的,就像之前说的,是否显示网络错误是超时的表象。 |
我说的断连就是连接失败的意思 |
总感觉实现这个会套娃啊。。 |
基本没有人和你有相同需求 建议自己弄个branch开坑 |
他的意思应该是定时检查多台服务器的连接稳定性,自动切换到最好的吧。我也觉得要做也是由客户端来做。而且定期自动向所有服务器发包确实会占用线路资源 |
那是没什么人意识到这种需求 |
不用检查,没得到正确回应直接像后备服务器发起连接 |
但这样就无法做到选择最快的节点连接的需求啊 |
你说的最快要么是时间最快要么是速度最快,发起连接选返回信息最快的结果就行了. |
你的需求啊,选取返回最快的节点。可如果只是一个节点不通就切下一个,直至切到通的,你的这个需求就满足不到了。想满足这个需求,又必然要检查连接延迟,速率,抖动等,综合后选取最快节点 |
速度统计必然要有大幅流量才能做到,所以只能做到回应最快,并发选取最快回应即可. |
建议先了解什么叫做 timeout |
Somebody just told him PR welcome and close this please. |
You may find my patch interesting. Feel free to use it on your own build or make a PR with this. |
v2fly/v2ray-core#589 will probe actively, and it's unclear if this is the battery-friendly way on mobile devices. |
你来 |
希望增加自适应服务器分流,
类似概念:
Mutlipath TCP (MPTCP) 即多路径 TCP,是对传输控制协议 (TCP) 规范的一组扩展,可让客户端通过不同网络适配器建立到同一目标主机的多个连接。这可在各主机间建立灵活而高效的数据连接,并且仍与现有的网络基础设施兼容。
发起连接后,当前线路不通时,自动切换至备用节点重新发起连接,选取返回最快的节点作为使用节点,60/300秒后再次检测主节点是否联通,联通再切换到主节点
特点因注重在用户端无感,例如打开google网站,浏览器载入中,只要有任何备用服务器在线,即5秒之内打开谷歌.期间不断连,不显示错误
整个过程在5秒之内完成.
非主动式连接检测,主动式连接检测间隔期间仍导致代理不通,就算切换到新服务器,原有连接依然是不通或者关闭状态,必须要程序再次发起连接才可以使用.
这样的话就不会遇到服务器不稳定影响上网体验了
The text was updated successfully, but these errors were encountered: