负载均衡器

LVS (Linux虚拟服务器)-不同的负载平衡方法

元气小坏坏 提交于 2019-12-01 07:52:21
随着Internet用户的增长,基于Web的公司处理的通信量急剧增加。 有各种解决方案来应对这种不断增长的流量。 一种解决方案是垂直扩展服务器(即:简单地向服务器添加更多的CPU和内存资源。)当然在一定程度上是无法完成的。 另一个解决方案是水平扩展服务器( 即 :添加更多可以应对流量激增的服务器。)。 这种机制通常称为集群。 在集群中,多台服务器作为单个组件共同作用,向最终用户提供所需的服务。 当流量/负载增加时,我们可以简单地将更多服务器添加到群集中,因此它具有更高的可扩展性。 在本文中,我们将重点介绍可用于Linux虚拟服务器(LVS)的不同方法和方案。 LVS是一个开源项目,始于1998年,其主要重点是使用由商用硬件组成的集群来构建高可用性和负载平衡解决方案。 如上图所示,典型的LVS群集由位于前面的负载均衡器和位于后面的一组服务器(称为“真实服务器”)组成。 最终用户请求首先发送到虚拟IP地址(VIP)。 VIP或虚拟IP地址是为虚拟群集提供的服务添加为A记录的地址。 路由器的主要工作(如上图中心所示,Linux框为Linux)是将用户的请求发送到真实服务器。 因此,有时也称为调度程序。 从最终用户向真实服务器发送请求的方法有多种。 LVS具有三种服务请求的模式。 这些在下面提到。 LVS VIA NAT(网络地址转换) 相关信息: 什么是网络地址转换? LVS VIA

Linux面试题

蓝咒 提交于 2019-12-01 07:04:02
1、什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术 运维又包括很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等 2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和系统运维 开发运维:是给应用运维开发运维工具和运维平台的 应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查 系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等 总结:开发运维和系统运维给应用运维提供了“工具”和“基础设施”上的支撑 开发运维、应用运维和系统运维他们的工作是环环相扣的 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的? 游戏运营要做的一个事情除了协调工作以外 还需要与各平台沟通,做好开服的时间、开服数、用户导量、活动等计划 3、现在给你三百台服务器,你怎么对他们进行管理? 管理3百台服务器的方式: 1)设定跳板机,使用统一账号登录,便于安全与登录的考量。 2)使用salt、ansiable、puppet进行系统的统一调度与配置的统一管理。 3)建立简单的服务器的系统、配置、应用的cmdb信息管理。便于查阅每台服务器上的各种信息记录

lvs

岁酱吖の 提交于 2019-11-30 12:18:38
lvs 一、负载均衡LVS基本介绍 LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirtualserver.org 现在 LVS 已经是 Linux 内核标准的一部分。使用 LVS 可以达到的技术目标是:通过 LVS 达到的负载均衡技术和 Linux 操作系统实现一个高性能高可用的 Linux 服务器集群,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的性能。LVS 是一个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存储。 LVS: 1、抗负载能力强。抗负载能力强、性能高,能达到F5硬件的60%;对内存和cpu资源消耗比较低 2、工作在网络4层,通过vrrp协议转发(仅作分发之用),具体的流量由linux内核处理,因此没有流量的产生。 2、稳定性、可靠性好,自身有完美的热备方案;(如:LVS+Keepalived) 3、应用范围比较广,可以对所有应用做负载均衡; 4、不支持正则处理,不能做动静分离。 5、支持负载均衡算法:rr(轮循)、wrr(带权轮循)、lc(最小连接)、wlc(权重最小连接) 6、配置 复杂,对网络依赖比较大,稳定性很高。 Ngnix: 1、工作在网络的7层之上

Ribbon 负载均衡器 LoadBalancer 源码解析

泄露秘密 提交于 2019-11-29 08:32:57
前言 Ribbon 负载均衡器 Ribbon 负载均衡器流程图 Ribbon 负载均衡器实现原理 判断服务的可用性 根据负载均衡策略 IRule 来选择一个可用的服务 初始化获取所有服务列表 前言 什么是负载均衡?简单来说一个应用,后台有多个服务来支撑,即利用多台服务器提供单一服务,当某个服务挂了或者负载过高的时候,负载均衡器能够选择其他的服务来处理请求,用来提高应用的高可用性和高并发行;此外,当用户请求过来的时候,负载均衡器会将请求后台内网服务器,内网服务器将请求的响应返回给负载平衡器,负载平衡器再将响应发送到用户,这样可以阻止了用户直接访问后台服务器,使得服务器更加安全。 可参考 维基百科-负载均衡 Ribbon 负载均衡器 Ribbon 的负载均衡器是通过 LoadBalancerClient 来实现的,在应用启动的时候,LoadBalancerClient 默认会从 EurekaClient 获取服务列表,并将服务注册列表缓存在本地,当调用 LoadBalancerClient 的 choose() 方法的时候, 根据负载均衡策略 IRule 来选择一个可用的服务,从而实现负载均衡。 当然,LoadBalancerClient 也可以不从 EurekaClient 中获取服务列表,这是需要自己维护一个服务注册列表信息,具体操作如下: ribbon: eureka:

Linux服务知识点总结

别等时光非礼了梦想. 提交于 2019-11-28 21:50:38
一.firewalld防火墙 1.firewalld简述 firewalld:防火墙,其实就是一个隔离工具:工作于主机或者网络的边缘。 对于进出本主机或者网络的报文根据事先定义好的网络规则做匹配检测, 对于能够被规则所匹配的报文做出相应处理的组件(这个组件可以是硬件,也可以是软件): 主机防火墙 网络防火墙 2.具体操作 (1).filter表 限制所有主机(0.0.0.0)拒绝ping本主机 iptables -t filter -A INPUT -s 0.0.0.0 -d 192.168.254.24 -p icmp -j REJECT 显示所有主机(0.0.0.0)拒绝通过ens33网卡ping本主机    iptables -t filter -A INPUT -d 192.168.254.24 -i ens33 -p icmp -j REJECT (2).nat表 #源地址为192.168.250.0网段的ip地址经过防火墙都转换成192.168.31.100这个ip地址(SNAT:源地址转换) iptables -t nat -A POSTROUTING -s 192.168.250.0/24 ! -d 192.168.250.0/24 -j SNAT --to-source 192.168.31.100 #访问目标地址为192.168.31

Linux运维精华常见基础面试题

痞子三分冷 提交于 2019-11-28 11:20:24
尽管运维是做的最苦最累的活,最容易背锅的一个岗位,大家还是应该在工作中不断提高自己。 下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家跳槽找个高薪好工作。 1、你理解的运维是什么,什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术 运维又包括很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等 2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和系统运维 开发运维:是给应用运维开发运维工具和运维平台的 应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查 系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等 总结:开发运维和系统运维给应用运维提供了“工具”和“基础设施”上的支撑 开发运维、应用运维和系统运维他们的工作是环环相扣的 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营的人员是做什么工作的? 游戏运营要做的一个事情除了协调工作以外 还需要与各平台沟通,做好开服的时间、开服数、用户导量、活动等计划 3、现在给你二三百台服务器,你怎么对他们进行管理? 管理3百台服务器的方式: 1)设定跳板机,使用统一账号登录

Lumins Technolgies一年来在生产中使用Kubernetes的经验

依然范特西╮ 提交于 2019-11-27 20:44:55
在2015年,我们Lumins Technolgoies在亚马逊的EC2上面运行配置很多年之后,我所在的团队接到任务,负责为Lumins Technolgoies所有其他开发团队的配置创建一个新的配置平台。过去这么多年,AWS的设置运行得很好。但是配置设置,定制脚本,和自动配置的工具这些东西,对于操作团队以外的工程师来说十分难用——特别是对没有资源来学习所有关于这些脚本和工具的团队来讲。主要的问题就是没有配置单元,因为没有,所以在开发和操作之间有一个鸿沟。显然,容器化趋势将会改变这个状况。 如果你还没有了解Docker和Kubernetes能够带给产品什么,那么来读一读我们团队是如何成为早期使用者的。我们目前已经在生产过程中使用Kubernetes超过一年了。 从容器和容器编排工具开始 现在我相信容器是未来的配置编排格式。他们使得用需要的基础设施来打包应用程序变得更加容易。虽然像Docker这样的工具提供真实的容器,但是我们也需要工具来处理例如像replication,failover以及API来自动化部署到多个机器。 在2015年初的时候,像Kubernetes和Docker Swarm这样的集群工具还不成熟,只有一个早期的alpha版本。我们仍然尝试使用它们,最开始的时候使用的是Docker Swarm。 首先,我们使用Swarm来处理我们自己的网络连接

落地案例|用 Kubernetes 将 Skytap 云微服务架构现代化

柔情痞子 提交于 2019-11-27 08:52:34
Skytap 是全球性公有云提供商,为客户提供保存、克隆复杂环境的性能服务。我们的客户包括在混合云上运行应用的企业,教育机构虚拟培训实验室之类,用户只需要便于管理的开发测试实验室,以及拥有各种各样的开发运维工作的机构。 我们之前以较快的速度拓展我们的业务——我们的用户基础和我们工程机构也在持续增长。令人兴奋!然而,要做到顺利地缩放应用和机构也是十分困难的,我们目前正在朝这个目标努力。当我们第一次开始关注工具设置的时候,发现传统的 OS 虚拟化并不是完成缩放目标的有效方法。我们发现虚拟机的持久性能鼓励工程师创建、维持定制的“ pet ”虚拟机;这跟我们愿望没太大关系,我们的愿望是用稳定的、可预测的状态来创建可以重复使用运行时间的环境。 Docker 和 Kubernetes 社区的增长跟我们的增长密切挂钩,而且目前社区内的爆炸式增长也帮助这些工具走向成熟。 在这篇文章中,我们会探索 Skytap 如何将 Kubernetes 作为服务中的关键组件在 Skytap 云上处理工作。 为了继续维持这种敏捷的速度,继续通过软件开发生命周期来启用组件所有权,我们又新增了工程师成员。这就要求我们程序的关键层面高度模块化,高度一致。以前,我们通过虚拟机和环境模版重新进行系统级别打包,但是随着规模的弹性伸缩,作为打包机制的容器变得越来越重要了,因为它相对轻便、运行环境控制精准。 除了打包灵活这个优点

Linux 运维经典面试题(四)

拈花ヽ惹草 提交于 2019-11-26 20:38:43
Linux 运维经典面试题 1、什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术 运维又包括很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等 2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和系统运维 开发运维:是给应用运维开发运维工具和运维平台的 应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查 系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等 总结:开发运维和系统运维给应用运维提供了“工具”和“基础设施”上的支撑 开发运维、应用运维和系统运维他们的工作是环环相扣的 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的? 游戏运营要做的一个事情除了协调工作以外 还需要与各平台沟通,做好开服的时间、开服数、用户导量、活动等计划 3、现在给你三百台服务器,你怎么对他们进行管理? 管理3百台服务器的方式: 1)设定跳板机,使用统一账号登录,便于安全与登录的考量。 2)使用salt、ansiable、puppet进行系统的统一调度与配置的统一管理。 3)建立简单的服务器的系统、配置、应用的cmdb信息管理