We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
2020-07-10 14:39:18
资料参考:
https://zhuanlan.zhihu.com/p/89356016
https://juejin.im/post/5e60edbf5188254940670f75
服务器这边使用了 Nodejs 分别启两个服务 7001 7002 和 两台机器 启动 7001
Nginx 这边使用 upstream
nginx的upstream目前支持的5种方式的分配
1、轮询(默认) 本地测试了这种
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream node { server 127.0.0.1:7001; server 127.0.0.1:7002; }
2 - 4 没有测试过 复制的....
2、指定权重
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream backserver { server 127.0.0.1:7001 weight=8; server 127.0.0.1:7002 weight=10; }
3、IP绑定 ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream backserver { ip_hash; server 127.0.0.1:7001; server 127.0.0.1:7002; }
4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backserver { server 127.0.0.1:7001; server 127.0.0.1:7002; fair; }
5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
upstream backserver { server 127.0.0.1:7001; server 127.0.0.1:7002; hash $request_uri; hash_method crc32; }
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误 fail_timeout:max_fails次失败后,暂停的时间 (复制的...
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout:max_fails次失败后,暂停的时间 (复制的...
在 Nginx 定义 测试机
http { upstream node { server 127.0.0.1:7001; server 192.168.1.11:7002; } # 因为 80 端口别的占用了 开了7000 代理 server { listen 7000; server_name localhost; location / { proxy_pass http://node; } } }
nginx -t # 如果没有启动先 nginx nginx -s reload
因为 egg 定义的 router 返回了 port 直接访问 127.0.0.1:7000 可以查看结果 随机返回 7001/7002
测试用了 jmeter 但是接口没异常 jmeter 倒是g了 使用不太熟练 请求次数太大了 但是效果还是可以看出来的
The text was updated successfully, but these errors were encountered:
No branches or pull requests
2020-07-10 14:39:18
一、负载均衡 - 初探
资料参考:
https://zhuanlan.zhihu.com/p/89356016
https://juejin.im/post/5e60edbf5188254940670f75
服务器这边使用了 Nodejs 分别启两个服务 7001 7002 和 两台机器 启动 7001
Nginx 这边使用 upstream
nginx的upstream目前支持的5种方式的分配
1、轮询(默认) 本地测试了这种
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2 - 4 没有测试过 复制的....
2、指定权重
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
3、IP绑定 ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
在 Nginx 定义 测试机
nginx -t # 如果没有启动先 nginx nginx -s reload
因为 egg 定义的 router 返回了 port 直接访问 127.0.0.1:7000 可以查看结果 随机返回 7001/7002
测试用了 jmeter 但是接口没异常 jmeter 倒是g了 使用不太熟练 请求次数太大了 但是效果还是可以看出来的
The text was updated successfully, but these errors were encountered: