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 ...
随机推荐
- Java相关框架概念以及思想
1.什么是IoC Ioc—Inversion of Control,即“控制反转”,是一种思想, 一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合.更优良的程序. 高内聚低耦合的设计能够让构 ...
- Redis4.0.11在linux上面安装时候编译的输出
root@iZ2zedo02x7n4nuc3lb4ueZ:/opt/redis-4.0.11/src# make install CC Makefile.deprm -rf redis-server ...
- Js 使用Map
function Map() { this.elements = new Array(); this.size = function() { return this.elements.length; ...
- JAVA 基础编程练习题11 【程序 11 求不重复数字】
11 [程序 11 求不重复数字] 题目:有 1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数字都是 1.2.3.4.组成所有的排列后 ...
- python-linux-集群nginx
一命令基本格式 ----cd ~ 家 ----cd / 根 ---cd .. 上级 ----pwd 当前路径 ----ls -l -a -h ----权限rwxrwxrwx 755 二文件 ...
- Linux三种SSH协议登陆方式
在实际工作中遇到了三种不同SSH协议登陆Linux服务器的方式,由简单到复杂分别阐述:一.最简单也是最不安全的root账号密码登陆通过root账号+root密码登陆Linux服务器. 二.普通用户登陆 ...
- Windows Server 2019远程桌面服务配置和授权激活
参考Windows Server 2016远程桌面服务配置和授权激活方法可适用于Windows Server 2019 Server 2016默认远程桌面连接数是2个用户,如果多余两个用户进行 ...
- 在vue中让某个组件重新渲染的笨方法
在vue中,推崇的是数据驱动也就是数据更新进而使组件得以重新渲染:在某些情况下,我们想要在数据不改变的情况下,重新渲染组件:我遇到的一个情况是:同一个页面,两个tab页分别为tab1和tab2,公用了 ...
- Autoit安装及启动
1.Autoit下载: 官网下载地址:https://www.autoitscript.com/site/autoit/downloads/ 提供百度网盘下载:https://pan.baidu.co ...
- Codeforces Round #333 (Div. 2) B. Approximating a Constant Range
B. Approximating a Constant Range Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com ...