如何利用Tengine实现高效的负载均衡?

负载均衡Tengine

Tengine简介

负载均衡tengine

Tengine是由淘宝网发起的Web服务器项目,它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性,Tengine的性能和稳定性已经在大型的网站如淘宝、天猫商城等得到了很好的检验,它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

主要功能与特性

高性能:Tengine通过实现新的负载均衡算法Virtual Node Smooth Weighted Round-Robin(VNSWRR)解决了SWRR算法在阿里业务场景下的缺陷,QPS处理能力相对于Nginx官方的SWRR算法提升了60%左右。

动态upstream模块:支持运行时动态感知后端应用机器扩缩容、权重调整和健康检查等信息,使得用户可以通过调整后端应用某台机器的权重从而达到线上真实引流压测目的。

高并发支持:Tengine支持百万级高并发连接,适用于大规模流量场景。

会话保持:提供会话保持模块,确保用户在多次请求中能够被定向到同一台后端服务器。

主动健康检查:根据服务器状态自动上线下线,保证服务的高可用性。

负载均衡tengine

动态解析upstream中的域名:支持动态解析upstream中出现的域名,提高系统的灵活性。

Keepalived+Tengine高可用负载均衡部署实践

Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层、第4层和第7层交换机的功能,主要提供loadbalancing(负载均衡)和high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台机器之间的故障转移服务。

使用Keepalived+Tengine可以实现高可用的负载均衡解决方案,具体配置步骤如下:

1、环境准备

CentOS7.9操作系统

两台主机作为Keepalived的高可用节点

负载均衡tengine

两台nginx服务器作为后端服务器

2、安装所需软件

   yum install -y keepalived
   systemctl start keepalived.service && systemctl enable keepalived

3、配置Keepalived

主节点(keepalived-tengine-master)配置:

     global_defs {
         router_id master
     }
     vrrp_script chk_nginx {
         script "/etc/keepalived/chk_nginx.sh"
         interval 1
         weight 2
     }
     vrrp_instance VI_1 {
         state MASTER
         interface eth0
         virtual_router_id 51
         priority 150
         advert_int 1
         authentication {
             auth_type PASS
             auth_pass 1111
         }
         virtual_ipaddress {
             10.0.0.100
         }
         track_script {
             chk_nginx
         }
     }

备节点(keepalived-tengine-backup)配置:

     global_defs {
         router_id backup
     }
     vrrp_script chk_nginx {
         script "/etc/keepalived/chk_nginx.sh"
         interval 1
         weight 2
     }
     vrrp_instance VI_1 {
         state BACKUP
         interface eth0
         virtual_router_id 51
         priority 100
         advert_int 1
         authentication {
             auth_type PASS
             auth_pass 1111
         }
         virtual_ipaddress {
             10.0.0.100
         }
         track_script {
             chk_nginx
         }
     }

4、启动Keepalived服务

   systemctl restart keepalived

通过上述配置,可以实现Tengine的高可用负载均衡解决方案,其中Keepalived用于解决单点故障问题,实现高可用;Tengine则负责七层的负载均衡,这种组合非常适合于需要高并发、高可用性的应用场景。

以上就是关于“负载均衡tengine”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2024-11-26 22:03
下一篇 2024-11-26 22:11

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信