首页 > 其他分享 >有关lvs高可用架构

有关lvs高可用架构

时间:2023-09-07 20:33:03浏览次数:28  
标签:负载 架构 lvs LVS 可用 Nginx 均衡 转发

我们可以用多台LVS来做高可用。这里又会有两种选择:一是主备模式/主主模式,可以利用 Keepalived 的 VRRP 功能,但是大规模生产环境中,用集群模式更好,因为其同时提高了伸缩性和可用性,而前者只解决了可用性(当然,也更简单),

LVS是基于IP层的负载均衡,它通过修改数据包的目标IP或MAC地址来实现负载均衡,它不需要对数据包进行解析,所以性能很高,但也缺乏灵活性和功能性。LVS只能对TCP和UDP协议进行负载均衡,不能对HTTP等应用层协议进行负载均衡。

NGINX是基于HTTP层的负载均衡,它通过解析HTTP请求头来实现负载均衡,它可以根据URL,Cookie,参数等信息来选择合适的后端服务器,所以灵活性和功能性很强,但也会消耗一定的性能。NGINX不仅可以对HTTP协议进行负载均衡,还可以对其他协议如TCP, UDP, SMTP等进行负载均衡。

KEEPALIVED是基于VRRP协议的高可用软件,它通过在多台服务器之间共享一个虚拟IP地址(VIP)来实现故障转移和负载均衡,它可以监控服务器的健康状况,并在故障发生时自动切换VIP到备用服务器上。KEEPALIVED可以与LVS或NGINX结合使用,提供更高的可用性和可扩展性。

HAProxy是支持虚拟主机,可以工作在4、7层(支持多网段),能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作;支持url检测后端的服务器,它跟LVS一样,本身仅仅就只是一款负载均衡软件;单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的,HAProxy 对后端的节点进行检测和负载均衡,不过在后端的数量超过10台时性能不如LVS,HAProxy的算法较多,达到8种。

简单对比的话

LVS: 基于四层的转发,只能做流量调度
HAproxy: 基于四层和七层的转发,是专业的代理服务器
Nginx: WEB服务器,缓存服务器,又是反向代理服务器,可以做基于四层和七层的转发

区别:

LVS只能做端口转发,而基于URL的、基于目录的这种转发LVS就做不了

HAproxy和Nginx由于可以做七层的转发,所以URL和目录的转发都可以做

工作选择:

  • 并发量很大时选择LVS
  • 中小型公司并发量没那么大,选择HAproxy或者Nginx足已
  • 中小型企业推荐使用HAproxy,HAproxy是专业的代理服务器,配置简单
  • 公网ip不足,通过四层负载进行端口调度


常见的方式有:

主备模式:

lvs主备之间运行VRRP协议,日常态流量都从主走,当备检测到主挂了(停止收到主发来的VRRP通告后一段时间),便通过发送 free arp 来抢占vip,使得所有流量都从自己走,实现 failover

主主模式

互为主备,两台或多台同时使用,需要多个IP

集群模式: lvs集群和上联交换机运行OSPF,生成该vip的多路等价路由ecmp,这样流量就能根据用户自定义的策略流向 lvs。当某台lvs挂了,交换机会将其从路由表中剔除,实现 failover


比如下面的方式(具体配置可以自行实现):

lvs+keepalived+nginx 主备模式

资源浪费,无法支持大流量,简单,流量少可以用

lvs+keepalived+nignx 互为主备模式/双主模式

一般两个lvs设备 也可以多个lvs设备 可能出现流量不均的现象 容易脑裂 全靠gslb调度

ospf+lvs+keepalived+nignx

可以多台lvs ,方面扩展,需要交换机支持,随时切换

haproxy+keepalive+nginx+web

keepalive+nginx +web

nginx + web


标签:负载,架构,lvs,LVS,可用,Nginx,均衡,转发
From: https://blog.51cto.com/zwltc/7401190

相关文章

  • 系统设计(架构师)指南5设计一致哈希(HASHING)
    5设计一致哈希(HASHING)要实现横向扩展,就必须在服务器之间高效、均匀地分配请求/数据。一致哈希是实现这一目标的常用技术。不过,首先让我们深入了解一下这个问题。5.1重散列(rehashing)问题如果有n台缓存服务器,平衡负载的常用方法是使用下面的散列方法:serverIndex=hash(key)%N......
  • 抖音的互联网架构与系统设计分析
    引言抖音是目前全球最受欢迎的短视频分享平台之一,它能够支持海量用户上传、播放和分享视频。在这篇文章中,我们将深入分析抖音的互联网架构,了解其系统设计和技术实现,并思考在类似场景下如何构建高可用的系统。1.抖音的互联网架构概述抖音的互联网架构是一个典型的大型分布式系统,它......
  • 从一台电脑怎么到的分布式架构?
    从单台服务器到分布式服务器的演化过程1.单台服务器并发量过大就会出现各种问题2.把服务器和数据库分离我把应用和数据库分别部署到不同的服务器上,缓解了负载压力3.应用服务器集群出现的问题是:a.需要使用session和cookie维护用户:session用来跟踪用户状态,cookie用来在......
  • 服务器数据恢复-断电导致Xen server虚拟化虚拟磁盘文件丢失,虚拟机不可用的数据恢复案
    服务器数据恢复环境:一台某品牌服务器通过一张同品牌某型号RAID卡将4块STAT硬盘组建为一组RAID10阵列。上层部署XenServer虚拟化平台,虚拟机上安装的是WindowsServer操作系统,包括系统盘+数据盘两个虚拟机磁盘,作为Web服务器使用,存放网站代码、SQLServer数据库以及其他网站数据。......
  • Heritrix架构学习笔记(三)
    3、Frontier链接制造工厂在heritrix-1.12.1/docs/articles/developer_manual/frontier.html下可找到Heritrix的官方文档的一个Frontier例子:/***AsimpleFrontierimplementationfortutorialpurposes*/publicclassMyFront......
  • Heritrix架构学习笔记(一)
    1、抓取起点CrawlOrder在heritrix-1.12.1/docs/apidocs目录下可以查看其API:org.archive.crawler.datamodelClassCrawlOrderjava.lang.Objectjavax.management.Attributeorg.archive.crawler.settings.Typeorg.archive.crawler.settings.Complex......
  • Sermant类隔离架构解析——解决JavaAgent场景类冲突的实践
    一、JavaAgent场景为什么要注意类冲突问题?类冲突问题并非仅存在于JavaAgent场景中,在Java场景中一直都存在,该问题通常会导致运行时触发NoClassDefFoundError、ClassNotFoundException、NoSuchMethodError等异常。从使用场景来看,基于JavaAgent技术所实现的工具,往往用于监控、治理等场......
  • 2023年Pycharm下载安装教程,亲测可用,持续更新
    目录一、pycharm安装教程二、推荐阅读一、pycharm安装教程1、进入官网下载pycharm官网下载地址:https://www.jetbrains.com/pycharm/download/#section=windows专业版功能更多收费,可免费试用30天,社区版免费,日常学习使用下载安装社区版即可2、下载完成后双击程序进行安装3、......
  • 2023年 IntelliJ IDEA 下载、安装教程,亲测可用,持续更新
    一、下载与安装IDEA首先先到官网下载最新版的IntelliJIDEA,下载后傻瓜式安装就好了官网下载地址:https://www.jetbrains.com/1、下载完后在本地找到该文件,双击运行idea安装程序2、点击Next3、选择安装路径,Next4、按需求选择,点击Next5、默认,不用改,直接点Install,安......
  • 查看linux 操作系统版本、节点名称、架构等
    #uname-aLinuxtankcheng-Legion-Y9000P-IAH7H5.15.0-83-generic#92~20.04.1-UbuntuSMPMonAug2114:00:49UTC2023x86_64x86_64x86_64GNU/Linux操作系统:Linux节点名称:ttankcheng-Legion-Y9000P-IAH7H操作系统发型版号:5.15.0-83-generic系统版本与时间:#92~20.04.1......