当前位置: 首页 > news >正文

Tongweb7049m4+THS6010-6012配置故障轉移+重試机制(by lqw)

使用场景

1.ths代理tongweb多套后端,假如有其中一套tongweb因为服务器重启或者宕机后没有及时启动,导致ths一直轮询在这个出故障的节点上。
2.即使在tongweb重启了,有的应用启动也需要一定的时间,这个时候只是启动了应用端口,ths仍有可能轮询在对应的tongweb上。

说明:
本文仅供参考,里面的参数配置,最终请根据自身业务场景进行调整。

服务器配置

本次示范使用两台服务器(113和114),分别搭建两套ths和两套tongweb做负载均衡和反向代理,浮动ip使用151,tongweb部分配置了测试用的ssl证书(如何配置ssl的可自行百度)。

在这里插入图片描述

在这里插入图片描述

httpserver.conf配置

#user  nobody;
worker_processes auto;
worker_cpu_affinity auto;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log logs/error.log info;
pid logs/httpserver.pid;events {worker_connections 1024;use epoll;
}http {include mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;access_log off;sendfile on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout 60;# 设置5秒的超时时间#proxy_connect_timeout 5s;# 连接超时#proxy_read_timeout 5s;# 读取超时#proxy_send_timeout 5s;# 发送超时# 配置切换到其他后端的条件,包括超时和错误状态码proxy_next_upstream error timeout http_404 http_500 http_502 http_503 http_504 http_403;#gzip  on;upstream tongweb {#ip_hash;#server后填写对应所有前端机器的ipserver 192.168.10.113:8088 max_fails=3 fail_timeout=2s;server 192.168.10.114:8088 max_fails=3 fail_timeout=2s;#keepalive 200;health_check interval=30000 rise=1 fall=3 type=ssl_hello;#keepalive_requests 10000;}server {server_name localhost_ths_monitor;listen 49151;access_log off;allow 127.0.0.1;deny all;location /thsapi/ {api /status;}}server {listen 8080;server_name localhost;#charset koi8-r;#access_log  logs/host.access.log  main;access_log off;#proxy_next_upstream error timeout http_404 http_500 http_502 http_503 http_504 http_403;location / {root html;index index.html index.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.htmlerror_page 500 502 503 504 /50x.html;location = /50x.html {root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with httpserver's one##location ~ /\.ht {#    deny  all;#}}server {listen 443 ssl;server_name localhost;# 配置 SSL 证书和密钥ssl_certificate tools/crt_demo/server.crt;ssl_certificate_key tools/crt_demo/server.key;proxy_next_upstream error timeout http_404 http_500 http_502 http_503 http_504 http_403;location / {proxy_pass https://tongweb;}}# HTTPS server#server {#listen       443 ssl;#server_name  localhost;#ssl_protocols TLSv1.2 TLSv1.3;#GMTLS key#ssl_gmtls on;#ssl_certificate      crts/SS.pem crts/SE.pem;#ssl_certificate_key  crts/SS.key.pem crts/SE.key.pem;#https key#ssl_certificate      crts/common_cert/server.crt;#ssl_certificate_key  crts/common_cert/server.key;#ssl_session_cache    shared:SSL:1m;#ssl_session_timeout  5m;#ssl_ciphers  HIGH:!aNULL:!MD5;#ssl_prefer_server_ciphers  on;#location / {#root   html;#index  index.html index.htm;#}#}
}

其中核心配置部分主要是这两个地方:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

备注:
1.proxy_next_upstream error timeout http_404 http_500 http_502 http_503 http_504 http_403;作用在http,server和location块,请不要配置在其他地方,一般情况下建议可以配在http块里。

测试

先測試113和114部署的應用是否能正常訪問
在这里插入图片描述

在这里插入图片描述

然後測試用ths的端口訪問是否能正常訪問(包括浮動ip):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然後可以自己在命令行頁面kill掉其中一台服务器上的tongweb进程,或者在其中一台tongweb控制台上停止该应用(生产环境不推荐,本文只是做测试才用)。
在这里插入图片描述
再去访问停掉的应用,发现是访问不了的:
在这里插入图片描述
去访问ths和浮动ip,仍然是正常的:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/458194.html

相关文章:

  • 在线客服系统网站源码-网页聊天客服实现代码
  • JioNLP:一款实用的中文NLP预处理工具包
  • GR-ConvNet论文 学习笔记
  • windows环境批量删除指定目录下的全部指定文件
  • 水深探测仪的作用和使用方法
  • Leetcode 搜索插入位置
  • jsp怎么实现点赞功能
  • 取消microsoft edge作为默认浏览器 ,修改方法,默认修改不了的原因
  • C++面试速通宝典——17
  • 10、论文阅读:基于双阶对比损失解纠缠表示的无监督水下图像增强
  • Git配置token免密登录
  • 活动预告|博睿数据将受邀出席GOPS全球运维大会上海站!
  • Flutter技术学习
  • Kubernetes网络通讯模式深度解析
  • SBTI科学碳目标是什么?有什么重要意义
  • 英特尔新旗舰 CPU 将运行更凉爽、更高效,适合 PC 游戏
  • MySQL 启动失败 (code=exited, status=1/FAILURE) 异常解决方案
  • 通信工程学习:什么是RIP路由信息协议
  • SQL调优指南与高级技巧:打造高效数据库查询
  • 实惠又好用的云手机推荐【高性价比云手机盘点】
  • Pear Admin Flask Master开启步骤
  • 知识图谱入门——8: KG开发常见数据格式:OWL、RDF、XML、GraphML、JSON、CSV。
  • 离线使用k8s部署项目
  • 【CF2021E】Digital Village(All Version)
  • [C++]使用纯opencv部署yolov11目标检测onnx模型
  • 【Golang】Go 语言中的 time 包详解:全面掌握时间处理与应用
  • MySQL联合索引、索引下推Demo
  • linux上复制命令cp的常见用法-ubuntu
  • R语言绘制气泡图
  • c++ sparsetable 模版