Nginx自动加载配置文件方案
nginx自动加载配置文件方案
一、nginx+consul+consul-template
实现过程:consul作为服务发现软件,consul-template作为nginx配置文件的模板,consul-template通过监测consul里数据的变化,动态的修改nginx配置文件的模板,然后执行nginx -s reload 命令进行路由更新,达到动态负载均衡的目的。
优点:动态加载配置文件,实时修改配置文件
缺点:使用reload来加载配置文件,如果是websocket长连接服务,流量大的应用,会对用户使用产生影响,也会损失一定的qps。对consul产生依赖,consul服务挂掉或者超时会对nginx产生影响,需采用consul集群模式保障consul服务的稳定
二、nginx+ nginx-upsync-module+consul
实现过程:nginx-upsync-module它的功能是拉取 consul 的后端 server 的列表,并更新 Nginx 的路由信息,不需要reload,对consul单点也有很好的可用性
单独模块功能:
ngx_http_dyups_module:修改upstream信息之后不需要reload 而是直接修改upstream的内存
nginx-upsync-module:基于Nginx实现动态配置的三方模块,可以拉取consul中的服务信息,并动态更新nginx的路由信息
nginx_upstream_check_module:是专门提供负载均衡器内节点的健康检查的第三方模块,通过它可以用来检测后端 realserver 的健康状态。如果后端 realserver 不可用,则后面的请求就不会转发到该节点上,并持续检查节点的状态,缺点是持续一定时间之后请求才不会转发到该节点,consul自带的健康检查可以解决该问题
Nginx自动加载配置文件方案的更多相关文章
- tmux不自动加载配置文件.tmux.conf
/********************************************************************** * tmux不自动加载配置文件.tmux.conf * ...
- springboot属性类自动加载配置文件中的值
springboot属性类自动加载配置文件中的值,如Person类加载在yml中配置的name,age等属性值,可以通过如下步骤获取: 类上添加@ConfigurationProperties注解,p ...
- spring-自动加载配置文件\使用属性文件注入
在上一篇jsf环境搭建的基础上 , 加入spring框架 , 先看下目录结构 src/main/resources 这个source folder 放置web项目所需的主要配置,打包时,会自动打包到W ...
- powershell创建并加载配置文件
$pshome :powershell的主目录 $profile :显示 Windows PowerShell 配置文件的路径 test-path $profile :确定是否已经在系统上创建了 Wi ...
- PHP PSR4自动加载代码赏析
第一部分是引入自动加载配置文件 1.入口文件:autoload.php里面没什么东西,就是导入ComposerAutoloader主题文件,一般由一个复杂的名字,不过不用担心就是机器随机生成的一个码而 ...
- Junit(手动/自动)加载
ssm中测试service层数据 Junit手动加载配置文件 package com.oukele.bookshop_ssm.service; import org.junit.After; impo ...
- 在Thinkphp中【自动加载自定义扩展配置文件】!
/Conf/config.php为正式的扩展文件 /Conf/verify.php为扩展的自定义配置文件 /Conf/sendmail.php为扩展的自定义配置文件 如果要自动加载 verify和se ...
- (转)ALSA配置文件(alsa.conf, asoundrc, asound.conf)及其自动加载 And HDMI Adiuo
原文出处:http://blog.sina.com.cn/s/blog_a04184c101010kry.html 警告:错误的EDID会造成HDMI发声异常 #title:box:HDMI Audi ...
- nginx启动、重启、重新加载配置文件和平滑升级
Nginx有一个主进程和几个工作进程,主进程的主要作用就是读取.评估配置文件和管理工作进程,工作进程对请求做实际处理.工作进程的数量是在配置文件中配置的,一般设置为cpu的核心数*线程数. nginx ...
随机推荐
- 一百一十三:CMS系统之前台注册界面
html {% from 'common/_macros.html' import static %}<!DOCTYPE html><html lang="en" ...
- hive常用的字符串操作函数
- SpringMVC中实现Bean Validation(JSR 303 JSR 349 JSR 380)
JSR 303是针对bean数据校验提出的一个规范.使用注解方式实现数据校验. 每个注解的用法这里就不多介绍,请移步JSR 303 - Bean Validation 介绍及最佳实践 笔者上面提到的J ...
- SQL中group by后面的having中不能使用别名
如下图中,SQL中需要对group by的结果使用having进行过滤,不能使用select中定义的别名,需要使用查询字段的原始名.否则会报错,列明未定义. 下图未错误演示: 修改后,正确的SQL语句 ...
- new URLSearchParams( )用法说明
URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串. 方法:该接口不继承任何属性. URLSearchParams.append() 插入一个指定的键/值对作为新的搜 ...
- DNS域名解析系统_2
部署DNS正向解析 主配置文件(/etc/named.conf): 用来定义bind服务程序的运行. 区域配置文件(/etc/named.rfc1912.zones): 用来保存域名和ip地址对应关系 ...
- springboot整合elasticSearch客户端
一 ES客户端 ES提供多种不同的客户端: 1.TransportClient ES提供的传统客户端,官方计划8.0版本删除此客户端. 2.RestClient RestClient是官方推荐使用的, ...
- 查看vue-cli3的webpack的配置信息
参考链接:https://www.cnblogs.com/cag2050/p/10523096.html
- 语言I博客作业04
问题 答案 这个作业属于哪个课程 C语言程序设计II 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9771 我 ...
- [Agc036D]Do Not Duplicate_链表_贪心_数论
Do Not Duplicate 题目链接:https://atcoder.jp/contests/agc036/tasks/agc036_b 题解: 首先最后肯定至多只有$n$个数. 我们想处理出来 ...