多台云主机联合使用大带宽、大硬盘
土豪绕道,土豪可以使用共享带宽、多核CPU、高内存、云盘等……
本文主要讨论如何充分使用多个性能低下与主机。为什么买配置低的?因为作者穷啊,考虑到性价比
双11主机上搞活动,云主机特别便宜,入手了10台入门云主机,每台10台1核1G2M,50G硬盘的配置,10台就有10个独立ip,20M带宽,500G硬盘,想想20M带宽可不便宜,就想着充分利用这些带宽
下面是使用nginx负载均衡搭建静态服务器的配置,大家有什么好的建议
定义上服务器,用一致性哈希hash consistent,可以充分利用硬盘,不同请求的 url文件会缓存到不同的服务器磁盘
upstream backend {
hash $uri consistent;
server 10.5.245.1:30018;
server 10.5.245.2:30018;
server 10.5.245.3:30018;
server 10.5.245.4:30018;
server 10.5.245.5:30018;
server 10.5.245.6:30018;
server 10.5.245.7:30018;
server 10.5.245.8:30018;
server 10.5.245.9:30018;
server 10.5.245.10:30018;
}
nginx反向代理,如何是内网ip请求,则缓存文件,
#PROXY-START/
location ^~ /oss/
{
proxy_pass http://www.liugang.net/;
proxy_set_header Host www.liugang.net;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
proxy_ignore_headers Set-Cookie Cache-Control expires;
proxy_cache cache_one;
if ($ckey = ""){
set $ckey $uri;
}
proxy_cache_key $ckey;
proxy_cache_valid 200 304 301 302 30d;
}
location ^~ /
{
if ($proxy_add_x_forwarded_for ~* "10.5.245.")
{
set $ckey $uri;
rewrite ^/(.*) /oss/$1 last;
}
proxy_pass http://backend/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
expires 24h;
}
#PROXY-END/
充分利用带宽,可以在域名解析时候添加10个A记录指向不同的ip即可