网络负载均衡

负载均衡之lvs

怎甘沉沦 提交于 2019-12-16 11:33:34
1.负载均衡 VS 反向代理区别 1.1 功能(原理) 负载均衡 lvs 请求做转发 反向代理 Nginx Haproxy 代替(代理)用户去请求 ,得到响应再反回给用户 1.2 4层与7层 7层协议 应用层 协议: http https 表示层 会话层 传输层 tcp/udp 端口 网络层 IP地址 数据链路层**** MAC地址 物理层 010101001 比特 物理层,数据链路层,网络层,传输层的单位: 比特bit,帧frame,包packet,段segment 4层 LVS nginx(1.9版本支持) haproxy 7层 nginx haproxy 2.ARP协议 2.1 arp解析过程 https://www.cnblogs.com/csguo/p/7542944.html DNS 域名----->ip地址 域名解析服务/系统 ARP ip------->MAC地址 地址解析协议 (Address Resolution Protocol) 2.2 arp解析原理 发出 广播 消息 查询ip对应的mac地址 对应的机器会用 单播 的方式把自己的mac告诉对方 用户自己留1个arp缓存 每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。 主机(网络接口) 新加入网络时 (也可能只是mac地址发生变化,接口重启等

nginx 反向代理和负载均衡策略实战案例

给你一囗甜甜゛ 提交于 2019-12-16 00:00:28
作者:glmapper https://juejin.im/post/5adc425f518825670f7b6fc8 引言 先来看下nginx在web服务器排名上的趋势: 存在即合理,那为什么要使用nginx呢?这得看看nginx能帮我们做些什么。 首先,nginx能做反向代理【关于反向代理和正向代理此处不做说明了,感兴趣的小伙伴自行谷歌】;比方说,我想在本地使用 www.glmapper1.com 的域名去访问www.taobao.com。那么这个时候我们就可以通过nginx去实现。 再者,nginx能实现负载均衡,什么是负载均衡呢?就是说应用部署在不同的服务器上,但是通过统一的域名进入,nginx则对请求进行分发,将请求分发到不同的服务器上去处理,这样就可以有效的减轻了单台服务器的压力。 在上面这两种情况下,nginx服务器的作用都只是作为分发服务器,真正的内容,我们可以放在其他的服务器上,这样来,还能起到一层安全隔壁的作用,nginx作为隔离层。 解决跨域问题 同源:URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口相同,则表示他们同源。 浏览器的同源策略:浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性。从一个域上加载的脚本不允许访问另外一个域的文档属性。

Nginx学习(转载)

 ̄綄美尐妖づ 提交于 2019-12-10 05:26:51
本文链接: https://blog.csdn.net/qq_40036754/article/details/102463099 前言 一、nginx简介 1. 什么是 nginx 和可以做什么事情 Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。 其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 2.Nginx 作为 web 服务器 Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50,000 个并发连接数。 https://lnmp.org/nginx.html 3. 正向代理 Nginx 不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。 正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访 问 Internet

NAT负载均衡的搭建

此生再无相见时 提交于 2019-12-06 18:55:54
NAT负载均衡的搭建 ** 四台虚拟机 客户端 lvs服务器 rs1服务器 172.22.144.188 VIP-172.22.144.59 DIP-192.168.49.2 RIP-192.168.49.3 rs2服务器 RIP-192.168.49.4 **注意LVS服务器需要充当调度与路由的角色 需要启用两个IP地址 lvs服务器,rs1服务器,rs2服务器 是否时间同步 seliunx与防火墙是否关闭 在lvs服务器上查看此目录的值cat /proc/sys/net/ipv4/ip_forward 是否为1 若是0 改为1** RS服务器的配置 vim /etc/sysconfig/network-scripts/ifcfg-ens33 DEVICE=ens33 NAME=ens33 BOOTPROTO=static IPADDR=192.168.49.3 PREFIX=24 ONBOOT=yes GATEWAY=192.168.49.2 **rs1服务器在网卡配置 把其网关指向lvs服务器DIP地址 rs2服务器同上做法一样** route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.49.2 0.0.0.0 UG 100

第4章 服务发现

半城伤御伤魂 提交于 2019-12-06 08:44:20
本章主要内容 为什么服务发现对基于云的应用程序环境很重要 与传统的负载均衡方法作对比,了解服务发现的优缺点 建立一个Spring Netflix Eureka服务器 通过Eureka注册一个基于Spring Boot的微服务 使用Spring Cloud和Netflix的Ribbon库来完成客户端负载均衡 在任何分布式架构中,都需要找到机器所在的物理地址。这个概念自分布式计算开始出现就已经存在,并且被正式称为服务发现。服务发现可以非常简单,只需要维护一个属性文件,这个属性文件包含应用程序使用的所有远程服务的地址,也可以像通用描述、发现与集成服务(Universal Description, Discovery, and Integration,UUDI)存储库一样正式(和复杂)。 服务发现对于微服务和基于云的应用程序至关重要,主要原因有两个。首先,它为应用团队提供了一种能力,可以快速地对在环境中运行的服务实例数量进行水平伸缩。通过服务发现,服务消费者能够将服务的物理位置抽象出来。由于服务消费者不知道实际服务实例的物理位置,因此可以从可用服务池中添加或移除服务实例。 这种在不影响服务消费者的情况下快速伸缩服务的能力是一个非常强大的概念,因为它驱使习惯于构建单一整体、单一租户(如一个客户)的应用程序的开发团队,远离仅考虑通过增加更大型、更好的硬件(垂直伸缩)的方法来扩大服务

[Java复习] 分布式PRC - Dubbo

北慕城南 提交于 2019-12-06 02:17:18
分布式RPC框架 dubbo常见问题: 1. 问dubbo的工作原理:服务注册,注册中心,服务生产者,消费者,代理通信,负载均衡 2. 问网络通信,序列化: dubbo协议,长连接,NIO,hessian序列化协议 3. 问负载均衡策略,集群容错策略,动态策略:dubbo跑起来后一些功能是如何运转,怎么做复制均衡,怎么做容错,怎么生成动态代理? 4. 问dubbo SPI机制:是否了解SPI机制?如何基于SPI机制对dubbo进行扩展? 5. dubbo服务治理,超时,降级,重试等。 1. 为什么要进行系统拆分? 项目大了,代码多了,很多代码冲突,代码合并维护困难。改一个地方,回归测试工作量很大。 大项目发布上线依赖很多外部东西,发布特别麻烦。 2. 如何进行拆分? 系统拆分需要经过多轮拆分,不可能一次就拆分好了。考虑多少个人维护多少个服务。 3. 拆分后为什么要用 Dubbo, 不用 Dubbo 可以吗? Dubbo 和 Thrift 有什么区别? 可以不用。可以用纯基于Spring MVC,纯http接口相互通信,但是维护成本很高。 Dubbo已经在RPC做得很好了,成熟的RPC框架,本地就是进行接口调用,Dubbo代理调用请求,跟远程网络通信,处理负载均衡,超时重试等等功能。 4. 说一下的 Dubbo 的工作原理?注册中心挂了可以继续通信吗?说说发起一次 RPC 请求的流程

nginx 负载均衡

走远了吗. 提交于 2019-12-05 20:43:12
分类 1、轮询法 轮询法,就是将用户的请求轮流分配给服务器,就像是挨个数数,轮流分配。这种算法比较简单,他具有绝对均衡的优点,但是也正是因为绝对均衡它必须付出很大的代价,例如它无法保证分配任务的合理性,无法根据服务器承受能力来分配任务。 2、随机法 随机法,是随机选择一台服务器来分配任务。它保证了请求的分散性达到了均衡的目的。同时它是没有状态的不需要维持上次的选择状态和均衡因子[5]。但是随着任务量的增大,它的效果趋向轮询后也会具有轮询算法的部分缺点。 3、最小连接法 最小连接法,将任务分配给此时具有最小连接数的节点,因此它是动态负载均衡算法。一个节点收到一个任务后连接数就会加1,当节点故障时就将节点权值设置为0,不再给节点分配任务。 最小连接法适用于各个节点处理的性能相似时。任务分发单元会将任务平滑分配给服务器。但当服务器性能差距较大时,就无法达到预期的效果。因为此时连接数并不能准确表明处理能力,连接数小而自身性能很差的服务器可能不及连接数大而自身性能极好的服务器。所以在这个时候就会导致任务无法准确的分配到剩余处理能力强的机器上 官方示例配置及解释 upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3;

LVS负载均衡群集——NAT模式

时光毁灭记忆、已成空白 提交于 2019-12-05 18:53:41
NAT模式 地址转换:  简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口  服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式 实验原理图 实验环境 LVS调度器作为web服务器池的网关,LVS两块网卡,分别连接内外网,使用轮询(rr)调度算法 LVS负载调度器 内网33网关:192.168.13.1 外网36:12.0.0.1 web1 192.168.13.151 web2 192.168.13.170 nfs服务器 192.168.13.145 client测试机 12.0.0.12 1,在nfs服务器上添加两块硬盘,做共享存储使用,格式化 [root@nfs ~]# fdisk /dev/sdb ##分区 令(输入 m 获取帮助):n ##创建新分区 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p ##主分区 分区号 (1-4,默认 1): ##回车 起始 扇区 (2048-41943039,默认为 2048): ##回车 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048

LVS负载均衡群集(理论)

∥☆過路亽.° 提交于 2019-12-05 18:52:57
群集的含义 Cluster,集群,群集 由多台主机构成,但对外只表现为一个整体 在互联网应用中,随着站点对硬件性能,相应速度,服务稳定性,数据可靠性等要求越来越高,单台服务器力不从心 解决方法: 使用价格昂贵的小型机,大型机 使用普通服务器构建服务群集 企业群集分类 根据群集所针对的目标差异,可分为三种类型 负载均衡群集 高可用群集 高性能运算群集 负载均衡群集  以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发,高负载LB)的整体性能  LB的负载分配依赖于主节点的分流算法 高可用群集  以提高应用系统的可靠性,尽可能的减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果  HA的工作方式包括双工和主从两种模式 高性能运算群集  以提高应用系统的CPU运算速度,扩展资源和分析能力为目标,获得相当于大型,超级计算机的高性能运算(HPC)能力  高性能运算群集的高性能依赖于“分布式运算”,“并行计算”,通过专用硬件和软件将多个服务器的CPU,内存等资源整合在一起,实现只有大型,超级计算机才具备的计算能力 负载均衡群集工作模式分析 负载均衡群集是目前企业用的最多的群集类型 群集的负载调度技术有三种工作模式: 地址转换 IP隧道 直接路由 NAT模式 地址转换:  简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关

你不知道的是

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