编程技术分享平台

网站首页 > 技术教程 正文

运维干货-tengine与nginx的区别(nginx vs)

xnh888 2024-09-19 06:06:52 技术教程 20 ℃ 0 评论

之前项目部署的时候都是使用haproxy,后来由于需要使用nginx,但是发现奇怪的是nginx在代理负载均时出现问题,什么问题呢,就是nginx没法对后端服务的状态进行判断,比如,后端有一个服务挂了,但是nginx还是会把流量引向这个服务,这样就会导致,集群还是健康的,结果却会把正常的流量引导致错误的服务,头痛了吧。

但是淘宝版的nginx,tengine默认就支持该功能,即tengine自带是针对负载均衡后端节点的健康检查的。

第一步:编译的时候开启

配置编译选项的时候开启:./configure --with-http_upstream_check_module

第二步:配置文件中nginx.conf如下配置

upstream cluster1 {

# simple round-robin

server 192.168.0.1:80;

server 192.168.0.2:80;

check interval=3000 rise=2 fall=5 timeout=1000 type=http;

check_http_send "HEAD / HTTP/1.0\r\n\r\n";

check_http_expect_alive http_2xx http_3xx;

}

check interval=3000 rise=2 fall=5 timeout=1000 type=http;配置使用http请求测试间隔

check_http_send "HEAD / HTTP/1.0\r\n\r\n"; 测试请求

如下图

生产配置实例

有了测试请求后,tengine会实时监控后端服务的是否正常,不正常tengine会自动踢掉该服务,以保证正确的用户流量导向。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表