linux负载均衡杂谈
假如架构中的主机拥有全量数据集,即使其中一台挂了,也不会导致离线,高可用(负载均衡集群)
假如架构中的各主机只拥有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负载均衡杂谈的更多相关文章
- Linux负载均衡软件LVS简介
Linux负载均衡软件LVS LVS集群的体系结构以及特点 1. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起 ...
- Linux负载均衡软件LVS之二(安装篇)[转]
Linux负载均衡软件LVS之二(安装篇) 2011-04-26 16:01:47 标签:lvs安装配置 linux lvs 休闲 linux高可用 原创作品,允许转载,转载时请务必以超链接形式标明文 ...
- (转)Linux负载均衡软件LVS之一(概念篇)
转:http://ixdba.blog.51cto.com/2895551/552947 Linux负载均衡软件LVS之二(安装篇):http://ixdba.blog.51cto.com/28955 ...
- linux负载均衡(什么是负载均衡)
linux负载均衡(什么是负载均衡) 一.总结 一句话总结: 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...
- Linux负载均衡概念与实践(二)
构建实践LVS+Keepalived实现负载均衡 keepalived概述 1.keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检查功能——判断LVS负载调度器 ...
- Linux负载均衡概念与实践(一)
根据网上文章整理. 负载均衡软件LVS(Linux Virtual Server)概念篇 lvs是在linux操作系统基础上建立虚拟服务器,实现服务节点之间的负载均衡.它是基于linux内核实现的.2 ...
- linux负载均衡
1.linux lvs nat实现负载均衡 添加两块网卡并开启路由管道 > /proc/sys/net/ipv4/ip_forward //开始路由管道 安装ipvsadm yum instal ...
- Linux负载均衡软件LVS之一(概念篇)
一. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver ...
- Linux负载均衡软件LVS之四(测试篇-完)
一.启动LVS集群服务LVS负载均衡管理和使用有两种方式,一种是以ipvsadm命令行脚步与ldirectord监控方式,一种是以Piranha工具进行管理和使用.下面分别介绍. 1.利用ipvsad ...
随机推荐
- script学习,如何用linux监控你的同事?
环境:CentOS7 一.为什么要学习script命令 当你在终端或控制台上工作时,你想记录下自己做了些什么吗?当你跟一些Linux管理员同时在系统上干活,你想知道别人干了什么吗?当你让别人远程到你的 ...
- linux下使用URLOS搭建nextcloud私有云盘系统
Nextcloud是一个免费专业的私有云存储网盘开源项目,可以让你简单快速地在个人/公司电脑.服务器甚至是树莓派等设备上架设一套属于自己或团队专属的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本 ...
- POJ3734 Block母函数入门
一段长度为n的序列,你有红黄蓝绿四种颜色的砖块,一块砖长度为1,问你铺砖的方案数,其中红黄颜色之和必须为偶数. #include <queue> #include <stack> ...
- Leetcode之动态规划(DP)专题-53. 最大子序和(Maximum Subarray)
Leetcode之动态规划(DP)专题-53. 最大子序和(Maximum Subarray) 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. ...
- Leetcode之广度优先搜索(BFS)专题-127. 单词接龙(Word Ladder)
Leetcode之广度优先搜索(BFS)专题-127. 单词接龙(Word Ladder) BFS入门详解:Leetcode之广度优先搜索(BFS)专题-429. N叉树的层序遍历(N-ary Tre ...
- JS延迟加载的几种方式
参考链接:https://blog.csdn.net/meijory/article/details/76389762
- Windows系统中CMD wmic查看硬盘、内存、CPU、BIOS、网卡等信息。(附带脚本)
目录 Windows系统中CMD wmic查看硬盘.内存.CPU.BIOS.网卡等信息. 查看内存相关 查看内存主板数量(两条命令均可) 查看物理内存 查看逻辑内存 查看缓存 查看虚拟内存 查看网络相 ...
- [转帖]RPM的原理及rpm命令常用参数
RPM的原理及rpm命令常用参数 2015年09月14日 15:39:43 lose_wait 阅读数 1298 https://blog.csdn.net/u012012939/article/de ...
- 【DP 好题】hihoCoder #1520 古老数字
题目链接 这道题的要点是状态转移的顺序. 要从低位向高位进行状态转移. Implementation string s; cin >> s; reverse(all(s)); int x, ...
- C++多线程基础学习笔记(三)
一.detach()大坑 上一篇随笔(二)中提到detach()是用来分离主线程和子线程的,那么需要考虑一个问题,就是如果主线程跑完了,主线程中定义的变量就会被销毁(释放内存),这时回收变量仍作为参数 ...