nginx负载均衡+keepalived+mysql主从

nginx负载均衡

nginx支持L7,L4负载均衡。主要优点是简单,轻量。
实现负载均衡需要nginx的两个功能模块:

  • ngx_http_proxy_module #proxy代理模块,用于把请求转给服务器节点或upstream
  • ngx_http_upstream_module #负载均衡模块,实现网站的负载均衡及节点的健康检查

主要工作模式有权重,轮询,IPhash模式三种,如果需要实现会话保持,需要reddis或memcache数据库

配置文件:

upstream web{   #定义服务器池
	server 172.0.0.7:80;   #默认权重1
	server 172.0.0.8:80;    #weight=1
	server unix:/tmp/web3;

}


 server {
    listen 80;
    server_name lemonbk.com
	location / {
		proxy_pass http://web; #将请求抛给web服务器池
        proxy_set_header Host $host; #将请求携带host
        proxy_set_header X-Forwarded-For $remote_addr; #将用户ip携带在请求中
}

}

keepalived配置

主配置文件:

vrrp_instance VI_1 {
    state MASTER #主
    interface ens33
    virtual_router_id 51
    priority 100 #优先级
    advert_int 1
    authentication { #主备通信的验证信息
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
	172.0.0.3/24 dev ens33 label ens33:1 #指定配置ip的网卡
    }
}

备配置文件:

vrrp_instance VI_1 {
    state BACKUP #备
    interface ens33
    virtual_router_id 51
    priority 80 #低优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
	172.0.0.3/24 dev ens33 label ens33:1
    }
}

!!需要注意的是,原因是keepalived.conf配置中默认vrrp_strict打开了,如果没有配置相关项,一定要将此项注释掉,否则防火墙会DROP掉VIP

mysql主从

主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。数据库主从可以做热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能,读写分离,提高并发。

修改主配置文件:
在/etc/my.cnf中的[mysqld]添加如下字段:

server-id=1 #唯一标识ID

log-bin=master-bin #开启二进制日志

修改从配置文件:

server-id=2 

log-bin=master-bin

重启主从数据库

在主数据库建立账号:

GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by '12580';

从服务器开启同步:

change master to master_host='172.0.0.9',master_user='mysync',master_password='12580';
start slave; #启动同步

检查同步状态:

show slave status\G



*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.0.0.9
                  Master_User: mysync
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: backup-bin.000002
          Read_Master_Log_Pos: 2142
               Relay_Log_File: mariadb-relay-bin.000003
                Relay_Log_Pos: 2427
        Relay_Master_Log_File: backup-bin.000002
             Slave_IO_Running: Yes #此状态必须为YES
            Slave_SQL_Running: Yes #此状态必须为YES
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 2142
              Relay_Log_Space: 2767
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一种常见的架构组合,用于构建高可用、负载均衡和容灾的Web应用系统。下面是每个组件的简要介绍: LVS(Linux Virtual Server):LVS是一个在Linux内核中实现的负载均衡工具。它通过将输入流量分发到多个后端服务器,以提高系统的性能和可靠性。 keepalivedkeepalived是一个基于VRRP(Virtual Router Redundancy Protocol)的高可用性解决方案。它可以监控服务器的健康状态,并在主服务器故障时自动切换到备份服务器。 nginxnginx是一个高性能的HTTP和反向代理服务器。它可以同时处理静态和动态内容,并提供负载均衡和高可用性功能。 tomcat:tomcat是一个开源的Java Servlet容器,用于运行Java Web应用程序。它可以与nginx配合使用,处理动态内容。 mysqlmysql是一个流行的关系型数据库管理系统,常用于存储应用程序的数据。 MHA(MySQL Master High Availability):MHA是一个用于MySQL主从复制环境的高可用性解决方案。它可以自动监控主服务器的健康状态,并在主服务器故障时自动切换到备份服务器。 NFS(Network File System):NFS是一种分布式文件系统协议,允许远程服务器通过网络访问共享文件。在这种架构中,NFS可以用于共享静态文件或其他数据,以提供一致的内容访问。 这种架构组合可以提供高可用性、负载均衡和容灾能力,适用于大型Web应用系统。但是具体的实施和配置需要根据具体需求和环境来确定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值