首页 > 系统相关 >Nginx

Nginx

时间:2022-08-16 15:57:00浏览次数:76  
标签:金丝雀 192.168 server Nginx 发布 灰度 版本

Nginx

反向代理

反向代理:请求ip80转发到ip8080;根据访问的路径跳转到不同端口的服务中。

Nginx 负载均衡分配服务器策略

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器挂掉,能自动剔除。

2、weight权重

默认为1,权重越高被分配的客户端越多。

upstream server_pool{
server 192.168.11.12 weight=10;
server 192.168.11.13 weight=10;
}

3、ip_hash

每次请求按访问ip的hash结果分配,这个每个访客固定访问一个后端服务器。

upstream server_pool{
ip_hash;
server 192.168.11.12;
server 192.168.11.13;
}

4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream server_pool{
fair;
server 192.168.11.12;
server 192.168.11.13;
}

动静分离

动静分离:动态请求和静态请求分开

Nginx原理

  • 一个master+多个worker,master监控管理,worker争抢client请求;
  • 利用 nginx 进行热部署操作,nginx -s reload
  • 每个worker是独立的进程,如果有其中一个worker出现问题,其他work独立,继续进行争抢,不会造成服务中断。
  • worker数和服务器的cpu数相等最为合适。

蓝绿发布

蓝绿发布提供了一种零宕机的部署方式。不停老版本,部署新版本进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本。始终有两个版本同时在线,有问题可以快速切换。

以下示意图可描述灰度发布的大致流程:先切分20%的流量到新版本,若表现正常,逐步增加流量占比,继续测试新版本表现。若新版本一直很稳定,那么将所有流量都切分到新版本,并下线老版本。

金丝雀发布(canary)

在生产环境上引一部分实际流量对一个新版本进行测试,测试新版本的性能和表现,在保证系统整体稳定运行的前提下,尽早发现新版本在实际环境上的问题。

为什么叫金丝雀发布呢,是因为金丝雀对矿场中的毒气比较敏感,所以在矿场开工前工人们会放一只金丝雀进去,以验证矿场是否存在毒气,这便是金丝雀发布名称的由来。

金丝雀发布的特点:

通过在线上运行的服务中,新加入少量的新版本的服务,然后从这少量的新版本中快速获得反馈,根据反馈决定最后的交付形态。

灰度发布

灰度发布是迭代的软件产品在生产环境安全上线的一种重要手段。

灰度发布,也叫金丝雀发布。是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度,而我们平常所说的金丝雀部署也就是灰度发布的一种方式。

金丝雀发布和灰度发布对比

参考:

https://blog.csdn.net/weixin_43852813/article/details/122369364

https://blog.csdn.net/m0_38017860/article/details/124274741

https://www.cnblogs.com/jing99/p/14616653.html 实现原理

https://blog.csdn.net/hguisu/article/details/8930668

标签:金丝雀,192.168,server,Nginx,发布,灰度,版本
From: https://www.cnblogs.com/ling11/p/16591830.html

相关文章

  • goaccess-nginx
    GoAccessgoaccess-快速网络日志分析器和交互式查看器。描述:goaccess是一个免费的(MIT许可)和开源实时网络日志分析器和交互式查看器,可以在*nix系统中的终端或通过浏......
  • nginx ngx_http_addition_module 模块openresty content_by_lua 不能生效的原因
    nginx的ngx_http_addition_module模块也是一个修改content的好东西,对于openresty我们经常使用content_by_lua阶段处理但是经过分析ngx_http_addition_module源码的......
  • 教你如何在云服务器上安装并配置web服务器(这里以nginx服务器为例,操作系统linux)
    前言:这里以gitbash工具为例,当然你可以直接用puTTY或者Xshell链接到服务器,用FileZilla上传文件。一、连接服务器sshroot@你的远程ip地址。二、查看版本uname-a三......
  • nginx环境下配置https域名你知道吗?
    拿到的证书分两个文件,一个是xxx.crt,一个是xxx.key,分别对应公钥和私钥。1.假设我们的nginx安装目录是:/etc/nginx/,在目录下创建一个新目录,姑且命名为cert,把两个证书文件扔到......
  • 4、编译安装nginx,实现多域名 https
    4、编译安装nginx,实现多域名https 一、编译安装nginx1.源码包下载https://nginx.org/en/download.html2.编译安装[root@CentOS8~]#yum-yinstallgccpcre-devel......
  • nginx 一些简单访问控制模块
    nginx已经内置了一些简单的访问控制模块,利用好这些模块我们可以提升系统的安全几个比较有用的标准模块基本都是利用了access阶段的能力limit_except限制请求方法的(......
  • Nginx学习笔记
    Nginx简介Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,Nginx和Apache的区别Apache和Nginx最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;......
  • 【Linux】yum源安装nginx服务
    前言centos通过yum命令安装nginx服务,并开放监听端口、设置开机自启等1、配置yum源并进行安装如有其他版本需求的,可以跳转官网nginx:Linuxpackages,选取适合自......
  • flask+uwsgi+nginx 搭建后端服务器
    1)构建flask服务安装创建虚拟环境安装flask##创建虚拟环境python3-mvenvvenv#安装flaskpipinstall--upgradepippipinstall-Usetuptoolspipinstal......
  • Nginx分布式框架详解-基础18-21nginx服务升级
    nginx服务的命令行控制此方式是通过Nginx安装目录下的sbin下的可执行文件nginx(文件名)来进行对Nginx状态的控制,我们可以通过nginx-h来查看都有哪些参数可以......