interface支持负载均衡轮询随机
Closed this issue · 3 comments
我搜过相关关键词 只找到了#98 所以只能自己研究,本人技术有限,刚接触计算机相关编程东西,自己琢磨了一下用法,不足希望可以提点一下。
用法和问题:
我最开始用 gost -L :8080?interface=ip1,ip2
发现 虽然可以成功创建,但是这个不是轮询 ip1成功就会一直用ip1
然后又看看文档
如果不使用上级代理,则可以通过虚拟节点让服务使用多网口进行负载均衡。
使用 gost -L :8080 -F virtual://:0?interface=ip1,ip2
还是只有ip1
研究了一晚上通宵(现在发的是最后的结论部分精简issue),然后就放弃了,单独对10个ip启动10个gost 如下
gost -L ip1:8080?interface=ip1
gost -L ip2:8080?interface=ip2
......
手动10个 然后再套一个 gost -L :8888 -F :8080
在这里做
然后8888做池入口 然后想了想应该在这里做负载 最后改成 gost -L :8888 -F "socks5://ip1:8080,ip2:8080?strategy=rand&maxFails=1&failTimeout=10s"
类似于这样
勉强可以实现我的效果,随机池,但是要启动11个gost如果后面ip有100个 就得101个,,,
补充
我说的这两条命令逻辑看着没问题,但是根本用不了。最后只能使用虚拟网节点。
用
gost -L :8888 -F :8080
还是一样全部Can't complete SOCKS5 connection
用 `gost -L :8888 -F "socks5://ip1:8080,ip2:8080?strategy=rand&maxFails=1&failTimeout=10s"
会返回gost的日志 估计是把gost的日志当做请求体 应该是我哪里搞错了
所以想着 有没有以下更简便的优化
1.interface加一个类似于 strategy 参数 来实现轮询随机负载,可以用gost -L :8080?interface=ip1,ip2&strategy=rand
类似于这样的方式启动
2.如果不行 有没有一个gost写法 可以代替我上面的批量部分
gost -L ip1:8080?interface=ip1
gost -L ip2:8080?interface=ip2
实现类似于 gost -L ipx:8080?interface=ipx
输入一个ip列表 自动创建对应ip和对应interface的代理监听端口。
我理解的不知道对不对,还是有什么遗漏的用法 一般做池又是怎么用的。如果本来就有更好更高效简便的实现 能不能指点一下,十分感谢。
你看到的文档里的虚拟节点例子就可以,不过只能用配置文件方式:
services:
- name: service-0
addr: ":8080"
handler:
type: auto
chain: chain-0
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
selector:
strategy: round
nodes:
- name: node-0
addr: :0
interface: ip1
connector:
type: virtual
dialer:
type: virtual
- name: node-1
addr: :0
interface: ip2
connector:
type: virtual
dialer:
type: virtual
- name: node-2
addr: :0
interface: ip3
connector:
type: virtual
dialer:
type: virtual
原来是这样 十分感谢 好像有点明白了 这个虚拟相当于我自己在上游一个个绑定gost 他可以自动绑定不需要启动一个个gost了。
请问一下 这里能否我直接指定网口 比如esn3 然后gost会自动轮询网口列表里面的ip?还是只能一个个手动获取填进去?
另外请教一下另一个题外话,关于webui项目
1.目前是只能用官方前端链接后端吗,好像文档没看到启动命令。
2.我开放了18080端口 网页访问是404 填到ui.gost.run又连不上 是我操作有什么问题吗?
3.这个ui登录的账号密码,应该是怎在启动时设置的?
找到文档了,大部分都可以解决 好像默认路径是/api 看文档的配置文件找到关键词了。
https://gost.run/tutorials/api/overview/#web-api