• 反向代理负载均衡调度:nginx


    一、概述

    反向代理:以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。【来自百度百科】

    nginx:作为反向代理服务的软件,配合哈希算法,具有负载均衡调度的作用。安装在反向代理服务器上。

    二、配置

    1、nginx配置:

     1 upstream epg {
     2 
     3             ip_hash;  //IP哈希算法
     4 
     5             server 172.17.128.137:6601;     //
     6 
     7             server 172.17.128.138:6601;    //配置实际提供HTTP服务的ip+port
     8 
     9            }
    10 
    11    server {
    12 
    13             listen       6600;    //配置nginx监听端口,即对外服务端口
    14 
    15             server_name  localhost;
    16 
    17             charset utf-8;
    18 
    19             location /epg {
    20 
    21                proxy_next_upstream http_502 http_504 error timeout invalid_header;
    22 
    23                proxy_pass http://epg;
    24 
    25                proxy_set_header Host $host:$server_port;
    26 
    27                proxy_set_header X-Forwarded-For $remote_addr;
    28 
    29                proxy_redirect http://172.17.128.136 http://172.17.128.136:6600;    //对外服务的VIP
    30 
    31           }
    32 
    33             access_log /opt/fonsview/3RD/nginx/log/epg.access.log main;
    34 
    35           }

    三、keepalived

    一般反向代理服务器需要具备灾备能力,即需要安装一台备用的反向代理服务器。keepalived则可用于配置对外服务的VIP。

    1、keepalived配置:

     1 global_defs {
     2 
     3    router_id CMS_OSS_MYSQL_1
     4 
     5 }
     6 
     7 vrrp_script check_cms {
     8 
     9     script "/etc/keepalived/check_cms.sh"  //check_cms.sh用于配置监听某些服务是否正常的脚本,如果监听服务不正常,该脚本则可以将keepalived服务器停止
    10 
    11     interval 5
    12 
    13     weight 20
    14 
    15 }
    16 
    17 vrrp_instance VI_cms {
    18 
    19     state MASTER     //主用服务器配置为MASTER,备用服务器配置为BACKUP
    20 
    21     interface bond0   //VIP配置的网口
    22 
    23     virtual_router_id 68   //id值,主备要一直,并且在内网内不能冲突
    24 
    25     priority 100    //权重,主用权重要比备用权重高
    26 
    27 #    nopreempt
    28 
    29     advert_int 1
    30 
    31     authentication {
    32 
    33         auth_type PASS
    34 
    35         auth_pass 1111
    36 
    37     } 
    38 
    39     track_script {
    40 
    41         check_cms
    42 
    43     }
    44 
    45     virtual_ipaddress {
    46 
    47         172.17.128.133   //配置对外服务的VIP
    48 
    49     }
    50 
    51 }
  • 相关阅读:
    Java工程代码开发规范总结
    MySQL5.7 JSON字段性能测试
    Forest v1.5.12 发布,声明式 HTTP 框架,已超过 1.6k star
    HTTP基础系列之:一文搞懂URL
    近1000 star,Forest 1.5.0 正式版发布
    我的开源项目在五个月内超过了 600 star
    我的开源经历:为了方便处理三方 HTTP 接口而写的 Java 框架
    【约瑟夫环】C语言数组法+java循环链表法
    UNICODE编码 特殊符号
    swift3.0 保存图片到本地,申请权限
  • 原文地址:https://www.cnblogs.com/wenquanli/p/9519138.html
Copyright © 2020-2023  润新知