通过nginx代理来实现跨区域的http分布式服务

问题:当一个服务的用户很多时,应该会有不在服务区域的用户访问服务会慢,尤其是国外用户 访问国内服务的时候,慢的效果会非常明显,这就是这片文章要解决的问题


方法:

    1:将提供服务的域名做dns智能负载均衡,将不同区域或线路的用户解析到相应区域的服务器上.可参考cloudxns

    2:将其他区域的代理服务通过nginx代理到真实的服务上.nginx配置大致如下:

     

http {
    upstream server_list {
        server 192.168.1.2:80;
    }
    server {
        listen       80;
        server_name  xxx.xxxx.xxx;
        location / {
                proxy_pass http://server_list;
                proxy_redirect          off;
                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr; 
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                client_max_body_size    100m;
                client_body_buffer_size 128k;
                proxy_ignore_client_abort on;
                proxy_connect_timeout   900;
                proxy_send_timeout      900;
                proxy_read_timeout      900;
                proxy_buffer_size       4k;
                proxy_buffers           4 32k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;
        }
}

 这样通过简单的dns智能负载均衡做了一个跨区域的分布式服务

此条目发表在 网站架构 分类目录。将固定链接加入收藏夹。

评论功能已关闭。