假如架构中的主机拥有全量数据集,即使其中一台挂了,也不会导致离线,高可用(负载均衡集群)

假如架构中的各主机只拥有sharing,那我们谓之 分布式集群

硬件ctrix

F5-BIG-IP(一台动辄20w,40w,80w一买就是两台)

A10 A10

Array Redware

软件: httpd  nginx varnishi缓存代理服务器 lvs haproxy ats(Apache traffic server基于C)

perlbal web负载均衡程序(I/O前半段异步)事件驱动

基于工作层次划分:

传输层:lvs(不用监听套接字,400-500万个并发连接,但能达到百万级并发的站点有几个,不过除了负载均衡以外,没有其他更多功能了)、 haproxy(mode tcp这一模式可以模拟tcp层调度,支持应用层协议,tcp方面都工作在内核,可能承载3万左右并发/每秒,一天是86400秒,假如一个页面有40个链接, 能响应的pv就达到千万级别了,更别提上了cdn以后,很多请求实际轮不到后端来处理),lvs还是个入门级的负载均衡器,用不到,但几乎是企业必谈话题

应用层:haproxy,nginx,ats,perlbal(套接字工作程序,监听80端口)

假定这样一个使用场景,一个lvs负责n个mysql服务器的负载均衡调度(请求3306端口)

lvs(linux virtual server)工作在传输层,任何请求在内核协议栈中必须理解 3306应该怎么处理,正常流程 netfilter-prelocating blah blah(anyway本来应该找注册了监听套接字的3306端口的服务,但是没找,直接甩给了后端的mysql服务器),这就要求建立能分析协议报文的负载均衡(据说lvs强于原来apt的dnet所以被linux收录进内核)

而真正提供服务的mysqlserver才是realserver,tcp二层交换设备叫交换机---就是一个负载均衡设备,它具备转发功能----就是一个转发器,接收来自一个主机或者多个主机对一个主机的访问,他也能把来自一个主机的很多请求分发到多个主机上去(只要目标不同),所以说他是个分发装备,但它是基于目标mac地址分发的,所以把它称作二层设备

路由器把报文做转发的时候,把ip作为转发地址 路由器是三层设备

lvs所在主机为四层设备,他根据请求报文的目标ip和端口做分发(也被称作layer4交换机或四层路由),根据负载均衡算法,从集群中挑选出一个主机作为请求的响应,依附于netfilter

有5个流向

正常流程prerouting-input

linux负载均衡杂谈的更多相关文章

  1. Linux负载均衡软件LVS简介

    Linux负载均衡软件LVS LVS集群的体系结构以及特点 1. LVS简介        LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起 ...

  2. Linux负载均衡软件LVS之二(安装篇)[转]

    Linux负载均衡软件LVS之二(安装篇) 2011-04-26 16:01:47 标签:lvs安装配置 linux lvs 休闲 linux高可用 原创作品,允许转载,转载时请务必以超链接形式标明文 ...

  3. (转)Linux负载均衡软件LVS之一(概念篇)

    转:http://ixdba.blog.51cto.com/2895551/552947 Linux负载均衡软件LVS之二(安装篇):http://ixdba.blog.51cto.com/28955 ...

  4. linux负载均衡(什么是负载均衡)

    linux负载均衡(什么是负载均衡) 一.总结 一句话总结: 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...

  5. Linux负载均衡概念与实践(二)

    构建实践LVS+Keepalived实现负载均衡 keepalived概述 1.keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检查功能——判断LVS负载调度器 ...

  6. Linux负载均衡概念与实践(一)

    根据网上文章整理. 负载均衡软件LVS(Linux Virtual Server)概念篇 lvs是在linux操作系统基础上建立虚拟服务器,实现服务节点之间的负载均衡.它是基于linux内核实现的.2 ...

  7. linux负载均衡

    1.linux lvs nat实现负载均衡 添加两块网卡并开启路由管道 > /proc/sys/net/ipv4/ip_forward //开始路由管道 安装ipvsadm yum instal ...

  8. Linux负载均衡软件LVS之一(概念篇)

    一. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver ...

  9. Linux负载均衡软件LVS之四(测试篇-完)

    一.启动LVS集群服务LVS负载均衡管理和使用有两种方式,一种是以ipvsadm命令行脚步与ldirectord监控方式,一种是以Piranha工具进行管理和使用.下面分别介绍. 1.利用ipvsad ...

随机推荐

  1. 如何为根分区扩容(centos7为例)

    linux系统所有的文件都是存放在根分区中的,如果根分区容量即将耗尽,我们就需要给根分区扩容,我们可以使用lsblk命令来查看,系统的根分区实际是逻辑卷,所以想要扩展根分区只要将逻辑卷扩容就可以了.此 ...

  2. 页面可见性改变事件 : visibilitychange 详解

    1.Page Visibility API标准概述 查看W3C的官方文档时候看到这个属性 标准时间线是这样介绍的: Page Visibility Level 2 W3C Proposed Recom ...

  3. 通过java 来实现对多个文件的内容合并到一个文件中

    现在有多个txt文本文件,需要把这么多个文件的内容都放到一个文件中去 以下是实现代码 package com.SBgong.test; import java.io.*; public class F ...

  4. 浅谈Linux kill命令

    傻瓜常规篇: 首先,用ps查看进程,方法如下: $ ps -ef ……smx       1822     1  0 11:38 ?        00:00:49 gnome-terminalsmx ...

  5. Oracle-DDL 2- 视图&索引

    DDL-数据定义语句: 二.视图 --视图(view),本身不保存数据,保存的是一个查询语句--对视图的操作等同于对查询语句中源数据的操作--视图占用存储空间较小,可以快速的对特定数据进行访问和操作- ...

  6. 如何获取字符串中某个具体的数值--通过json.load转化成字典形式获取

    r=requests.get('http://httpbin.org/get').text print(r) # print(type(r)) # 如果要获取User-Agent的详细数值,需要做JS ...

  7. Django2.1 authenticate 会关联数据库 is_active 的解决办法

    # 会检测用户是否是活跃状态(is_active),不活跃则返回None(默认配置)AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.M ...

  8. SKCTF管理系统

    一开始是一个简洁风的登录界面 康康注册界面 嗯...也是很简洁风呢. 那让我们来查看元素(fn+f12) 没有什么有flag的迹象呢! 那我们试一下注册一个账号 这时候我们已经有解题的线索了: 获得管 ...

  9. Asp.net4.5未在web服务器上注册

    在使用vs2012打开项目时,显示Asp.net4.5未在web服务器上注册?是由于没有下载一个补丁的原因,只需下载安装补丁 VS11-KB3002339.exe 下载地址:https://downl ...

  10. js截取字符串相关的知识点

    截取字符串中的数字 1.使用parseInt() var str ="4500元"; var num = parseInt(str); console.log(num);//450 ...