Skip to main content

moregeek program

什么是负载均衡高可用?如何做到业务应用的高可用?_czw的博客-多极客编程

Nginx作为所有业务请求的入口,每天都承受着很大的压力,如果nginx服务器宕机后端web服务将无法提供服务,影响严重。那么问题来了,只是实现了nginx的负载均衡高可用就可以了吗?

1. 什么是负载均衡和高可用?

1.1 负载均衡

什么是负载均衡高可用?如何做到业务应用的高可用?_高可用

负载均衡,就是使用多个提供相同业务功能的服务器集群对外使用统一的访问入口提供业务,使用其算法将请求分发到后端具体的某个业务服务器的功能,以此来减小单个服务器因压力过大而导致宕机的风险。常见的用来做负载均衡的有:LVS、Nginx、F5(硬件)

1.2 高可用

什么是负载均衡高可用?如何做到业务应用的高可用?_高可用_02

高可用,是指系统的可用程度。系统/应用程序在运行过程中,总会遇到各种各样(OOM/停电/自然灾害)的问题导致服务不可用,为了让业务系统尽可能7x24的提供业务,高可用也成了当代信息技术不可或缺的重要技能。常见的高可用架构分为主备、主从、对称集群、非对称集群。

2. 调度高可用和业务高可用(个人理解)

什么是负载均衡高可用?如何做到业务应用的高可用?_负载均衡_03

2.1 调度/前端展示高可用

个人理解为是nginx调度后端应用的调度和前端服务的高可用,请求是由用户通过APP/WEB端等发起,nginx接收到这些请求之后,会将前端页面调用的后端接口转发到后端服务器集群,nginx主要是做一个前端页面的展示和后端服务调度的作用,像页面之类的的东西是直接展示给用户的,所以保证用户展示层的高可用也是非常重要的。

2.2 业务高可用

什么是负载均衡高可用?如何做到业务应用的高可用?_nginx_04

这个就是本篇文章的重点了,据我了解好多的文章,或者是教育机构教的都只是“调度/前端展示的高可用”,并没有实现“业务高可用”,因为大部分企业使用的nginx的调度算法都是:轮询、加权轮询、ip_hash。这就会导致一个问题,当你的后端集群中的某个应用挂掉了之后,你的nginx还是会把请求转发给这个已经挂掉的后端应用,然后就会有一部分用户请求是正常的,一部分用户的请求是异常的

3.如何实现业务应用的高可用

upstream info_pool {
server 192.168.1.4:8888 max_fails=2 fail_timeout=5s;
server 192.168.1.5:8888 max_fails=2 fail_timeout=5s;
server 192.168.1.6:8888 max_fails=2 fail_timeout=5s;
}

fail_timeout & max_fails: Nginx基于连接探测,如果发现后端异常,在单位周期为fail_timeout设置的时间,中达到max_fails次数,这个周期次数内,如果后端同一个节点不可用,那么接将把节点标记为不可用,并等待下一个周期(同样时常为fail_timeout)再一次去请求,判断是否连接是否成功。如果成功,将恢复之前的轮询方式,如果不可用将在下一个周期(fail_timeout)再试一次。

在两个节点都可用的情况下,突然有一个节点挂掉,客户端请求过来后哪怕请求到了不可用的节点,此次请求也不会失败,因为Nginx会把此次请求转发到另外一个可用节点,再把结果返回给客户端。

当一个节点挂掉,Nginx不知道节点是否恢复的时候,会把客户端的请求同时转发到两个节点,判断节点健康情况


©著作权归作者所有:来自51CTO博客作者fordrm的原创作品,请联系作者获取转载授权,否则将追究法律责任
什么是负载均衡高可用?如何做到业务应用的高可用?
https://blog.51cto.com/changzhiwen/5464456

【服务器数据恢复】华为oceanstor某型号存储中nas卷数据丢失的数据恢复案例_sun的博客-多极客编程

服务器数据恢复环境: 华为OceanStor某型号存储,支持SAN和NAS存储协议。 服务器故障: 存储上一个NAS卷中的数据丢失,卷大小为2T,管理员发现后,关闭系统应用,停止上传数据。 经过检查发现丢失数据的类型为office文档、PDF文件、图片文件(JPG、JPEG、PNG等)、视频文件(MP4、AVI等)、音频文件(MP3等)。 服务器管理员联系我们数据恢复中心进行数据恢复。 服务器数据

docker consul_歆瑶的小房子的博客-多极客编程

Consul提供的一些关键特性•service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务•health checking:健康检测使consul可以快速的警告在集群中的操作。和服务发现的集成,可以防止请求转发到故障的服务上面•key/value storage:一个用来存储动态配置的系统。提供简单的HTTP接口,可以在任何地方操作con

搭建服务器lmnpr-linux_mysql_nginx_php_redis_歆瑶的小房子的博客-多极客编程

安装docker软件国内镜像一键安装 yum -y install docker注 :需要使用root用户来安装 进入root用户命令su root安装中出现以下错误Error: docker-ce-cli conflicts with 2:docker-1.13.1-205.git7d71120.el7.centos.x86_64Error: docker-ce conflicts with 2

【服务器数据恢复】某品牌msa san存储raid5瘫痪,上层lun无法使用的数据恢复案例_sun的博客-多极客编程

服务器数据恢复环境: 某品牌MSA SAN Storage存储; 共8块SAS硬盘:7块硬盘组成RAID5,1块热备盘; 基于RAID5的LUN有6个,均分配给HP-Unix小机使用,上层做的LVM逻辑卷,重要数据为Oracle数据库及OA服务端。 服务器故障: RAID5有2块硬盘损坏,只有一块热备盘激活,RAID5瘫痪,上层LUN无法使用。服务器管理员联系我们数据恢复中心进行数据恢复。 服务器

内存分析工具memory analysis tool用法详解_有水先生的博客-多极客编程

1. 背景 内存分析指MAT,即memory analysis tool,通常使用eclipse提供的MemoryAnalyzer的工具包解析dump文件。可通过MAT解析内存泄漏、查看内存中变量大小。 2. 生成dump文件 dump一般译作转储,有动词和名词两种场景。动词场景:因为程序在计算机中运行时,在内存、CPU、I/O等设备上的数据都是动态的(或者说是易失的),也就是说数据使用完或者发生

【服务器数据恢复】ibm某型号存储热备盘同步数据过程中硬盘离线导致raid5崩溃的数据恢复案例_sun的博客-多极客编程

存储数据恢复环境: IBM某型号存储设备,一个存储机头+多个存储扩展柜; 创建多组RAID5。 存储故障: 其中一个存储扩展柜中的RAID5由15块硬盘+1块热备硬盘组成。该存储扩展柜中的一块硬盘离线,热备盘替换上线开始同步数据。在热备盘同步数据过程中,另外一块硬盘故障离线,导致数据同步失败,RAID5阵列崩溃不可用,卷无法挂载访问。管理员联系我们数据恢复中心进行数据恢复。 存储数据恢复过程: 1

nginx配置参数详解_匿名v5程序员的博客-多极客编程

Nginx配置参数详解 1、基本配置 集群配置 代理配置 2、优化配置 Nginx进程数,一般为CPU核心数-1。查看命令:cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 日志及服务ID路径 Nginx单个进程可打开的最大文件数量 Nginx客户端最大连接数 事件处理模型优化 日志格式 日志缓存 文件上传大小 压缩配置

使用腾讯云ssl证书,免费给个人网站开启https防护_程序员晚枫的博客-多极客编程

大家好,这里是程序员晚枫。 之前给大家介绍了​​如何通过DNS解析把自己的域名绑定到腾讯云服务器上​​,在使用的过程中我发现了一个问题:域名的访问协议有http和https(更加安全)。我现在有2个域名:python-office.com 和 python4office.cn,在不开启https的情况下,①以 .cn为结尾的python4office.cn所有的浏览器都可以打开; ② 但是以.c

网络和负载均衡-多极客编程

本章简单聊下网络和LBS相关的内容,本文中描述的都是基础部分。一般的公司会在基础上封装成需要的基础服务。网络分4层和7层:4层:网络访问层、网络层、传输层、应用层;7层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;一、网络1.1、TCP/IP原理TCP/IP 协议不是 TCP 和 IP 这两个协议的合称,而是指因特网整个 TCP/IP 协议族。从协议分层 模型方面来讲,TCP/IP

linux实战之ssl自签名证书_匿名v5程序员的博客-多极客编程

Linux实战之SSL自签名证书 Linux的openssl生成自签名证书 部署一个简单的tomcat服务 使用nginx代理实现ssl访问 1、Linux生成自签名证书 1.1、生成带密码的私有秘钥文件 使用带密码的私有秘钥文件时在祁东nginx时需要输入密码 [root@localhost ssl]# openssl genrsa -des3 -out server.key 2048 1.2

#yyds干货盘点#nginx配置ssl证书_文本、的博客-多极客编程

申请​​ssl​​ 证书把证书copy到​​nginx​​ 目录下,比如我放在了一个叫​​ca​​ 的目录,一个​​.cer​​ 文件,一个​​.key​​ 文件,一共两个文件配置​​.conf​​文件server { server_name ghostwang.xxx.com; # 注意这里是443端口 listen 443 ssl; # gzip config g

基于 nginx 的负载均衡原理与实战_crmeb中邦科技的博客-多极客编程

本文主要讲解以下 3 个方面介绍 Nginx 的负载均衡:1. 负载均衡介绍2.Nginx 如何实现负载均衡3.Nginx 负载均衡配置项介绍01 负载均衡介绍什么是负载均衡?顾名思义就是让客户端的请求均匀地分布到各个服务器上。从下图可以看出,客户端的请求先到达负载均衡器,由负载均衡器通过一系列算法将请求转发到某台上游的业务服务器上。实现负载均衡的方式有很多,下面将列出几种方式,并对比优劣:硬件层