负载均衡

nginx 的正向代理 和 反向代理

与世无争的帅哥 提交于 2020-01-16 19:24:49
正向代理(你自己访问不了 需要借助中间服务器来访问) location / { proxy_pass http://$http_host$request_uri; }差不多就这样子 我之前的一篇文章里用到了正向代理,一个取百度搜索关键词的应用,里面算是详细,代理很多请求信息什么的 反向代理:(负载均衡)(自己没资源 需要从其他服务器抓资源) worker_processes 1; error_log logs/error.log; pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; sendfile on; keepalive_timeout 65; upstream slave_pools{ server

由ping所引发的思考~

半世苍凉 提交于 2020-01-16 16:36:57
今天看了掘金一片关于ping原理的文章,https://juejin.im/entry/5af8d5e651882565bd25581c?utm_source=gold_browser_extension 引发了如下问题:ping www.baidu.com和ping baidu.com DNS所解析出来的ip不一致? 得到了如下2种答案: 负载均衡 指向了不同的服务器 关键字: 负载均衡(通过负载均衡来分发请求到不同服务器) 参考资料:https://www.zhihu.com/question/22610352 关键字:域名和服务器的关系 1对多,主机才是1对1,域名可以设置多个主机记录 多个域名可以只想同一个ip,服务器是通过http请求头里的host字段进行区分的 域名:(baidu.com、www.baidu.com),域名就1个,是主机记录指向的服务器不一样 反向代理:访问的是一台服务器,其实它只是转发了我的请求到别的服务器,他背后可能有一堆服务器 最终结果:   如上图,访问baidu.com他重定向到www.baidu.com了。   他们归属同一个域名,只是主域名(baidu.com)和子域名(www.baidu.com)指向了不同服务器。一般生产上不会做dns负载均衡 待续!感觉还没有很完善,很多地方不大理解,做个记录,以便以后补充,嘻嘻~ 来源: https:

负载均衡基本原理与lvs

心已入冬 提交于 2020-01-16 08:54:57
前言:   之前在山西的项目上使用的是lvs下的NAT模式,但另外两个模式并没有涉及,今天系统的整理下关于负载均衡的相关理论与lvs各模式的相关优点与不足,知其然与所以然,而后能针对性的应用: 基本介绍 1.1 负载均衡的由来 在业务初期,我们一般会先使用单台服务器对外提供服务。随着业务流量越来越大,单台服务器无论如何优化,无论采用多好的硬件,总会有性能天花板,当单服务器的性能无法满足业务需求时,就需要把多台服务器组成集群系统提高整体的处理性能。不过我们要使用统一的入口方式对外提供服务,所以需要一个流量调度器通过均衡的算法,将用户大量的请求均衡地分发到后端集群不同的服务器上。这就是我们后边要说的 负载均衡。 1.2 负载均衡的优点 提高了服务的整体性能 提高了服务的扩展性 提高了服务的高可用性 1.3 负载均衡的类型 广义上的负载均衡器大概可以分为 3 类,包括:DNS 方式实现负载均衡、硬件负载均衡、软件负载均衡。 1.3.1 DNS负载均衡 DNS 实现负载均衡是最基础简单的方式。一个域名通过 DNS 解析到多个 IP,每个 IP 对应不同的服务器实例,这样就完成了流量的调度,虽然没有使用常规的负载均衡器,但也的确完成了简单负载均衡的功能。 通过 DNS 实现负载均衡的方式的优点: 实现简单,成本低,无需自己开发或维护负载均衡设备, 通过 DNS 实现负载均衡的方式的缺点:

nginx负载均衡

核能气质少年 提交于 2020-01-16 08:54:21
nginx负载均衡 一、集群介绍 为什么要用集群 二、负载均衡 三 、 nginx负载均衡实验 Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现负载的分发。那么会大大提升系统的吞吐率、请求性能、高容灾 Nginx要实现负载均衡需要用到proxy_pass代理模块配置 Nginx负载均衡与Nginx代理不同地方在于 Nginx代理仅代理一台服务器,而Nginx负载均衡则是将客户端请求代理转发至一组upstream虚拟服务池 Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用。 upstream配置 在nginx.conf > http 区域中 upstream django { server 10.0.0.10:8000; server 10.0.0.11:9000; } 在nginx.conf > http 区域 > server区域 > location配置中 添加proxy_pass location / { root html; index index.html index.htm; proxy_pass http://django; } 此时初步负载均衡已经完成,upstream默认按照轮训方式负载

基于Nginx反向代理及负载均衡

与世无争的帅哥 提交于 2020-01-16 00:02:18
基于Nginx反向代理及负载均衡 参考:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass 只要没有被启用,默认就是开启的,因为proxy属于nginx内置标准模块,通常实现代理的时候,最核心模块是proxy_pass,用于将用户请求的rui递交至上游服务器的某个URI但这个模块大部分用于location当中,因此要实现将某一URI的访问代理某个上游服务器大致的格式为: location /name/ { proxy_pass http://127.0.0.1/remote/; } 参数解释: location /name/ 指定当前服务器server的某一访问路径,本来这个location中定义的是root或其他相关参数,从此这个 location不在本地提供任何服务,而是通过proxy_pass模块传至远程其他主机 http://127.0.0.1/remote/ 上去 其中/name/ 和 /remote/ 可以是不相匹配的, nginx可以自动处理这种映射关系。 但需要注意的是,当定义location的时候,其必须有一个转换关系,意为我们当前主机的路径uri要转换另外服务器的uri,这是其对应关系,事实上目标主机的uri可以省略掉,但是一旦省略掉就表示不将其转换 示例: location

linux搭建主备负载均衡

倾然丶 夕夏残阳落幕 提交于 2020-01-15 23:56:24
1:原理图 底层原理 2:负载集合的功能: 1)客户端传过来的请求,在负载均衡那里,根据 算法 ,把用户的请求给指定的服务器, 2)如果负载均衡主机宕机了,备机马上接手,如果主机恢复了,备机马上退后 3)如果某个服务器挂了,该服务器马上被踢出去,负载均衡转发请求不发该服务器,如果服务器恢复了,马上添加进来,添加到负载均衡的服务器群中。 3:负载均衡搭建 3.1准备4台虚拟机,2台作为负载均衡主从机,2台作为httpd服务器 3.2获取2台服务器的ip [root@fei etc]# ifconfig eth1 inet addr:192.168.163.130 [root@fei etc]# ifconfig eth1 inet addr:192.168.163.131 3.3分别为2台服务器配置vip [root@fei ~]# cd /etc/init.d/ [root@fei ~]#touch realserver [root@fei ~]#vim realserver SNS_VIP=192.168.163.150 . /etc/rc.d/init.d/functions case "$1" in start) ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP /sbin/route add

负载均衡的基本算法

末鹿安然 提交于 2020-01-15 16:56:18
负载均衡的基本算法,主要有以下几种( 参考F5产品 ): 随机:负载均衡方法随机的把负载分配到各个可用的服务器上,通过随机数生成算法选取一个服务器,然后把连接发送给它。虽然许多均衡产品都支持该算法,但是它的有效性一直受到质疑,除非把服务器的可运行时间看的很重。 轮询:轮询算法按顺序把每个新的连接请求分配给下一个服务器,最终把所有请求平分给所有的服务器。轮询算法在大多数情况下都工作的不错,但是如果负载均衡的设备在处理速度、连接速度和内存等方面不是完全均等,那么效果会更好。 加权轮询:该算法中,每个机器接受的连接数量是按权重比例分配的。这是对普通轮询算法的改进,比如你可以设定:第三台机器的处理能力是第一台机器的两倍,那么负载均衡器会把两倍的连接数量分配给第3台机器。 动态轮询:类似于加权轮询,但是,权重值基于对各个服务器的持续监控,并且不断更新。这是一个动态负载均衡算法,基于服务器的实时性能分析分配连接,比如每个节点的当前连接数或者节点的最快响应时间等。 最快算法:最快算法基于所有服务器中的最快响应时间分配连接。该算法在服务器跨不同网络的环境中特别有用。 最少连接:系统把新连接分配给当前连接数目最少的服务器。该算法在各个服务器运算能力基本相似的环境中非常有效。 观察算法:该算法同时利用最小连接算法和最快算法来实施负载均衡。服务器根据当前的连接数和响应时间得到一个分数

负载均衡

淺唱寂寞╮ 提交于 2020-01-15 16:52:45
负载均衡是云计算的基础组件,是网络流量的入口,其重要性不言而喻。 什么是负载均衡呢?用户输入的流量通过负载均衡器按照某种负载均衡算法把流量均匀地分散到后端的多个服务器上,接收到请求的服务器可以独立的响应请求, 达到负载分担的目的。从应用场景上来说,常见的负载均衡模型有全局负载均衡和集群内负载均衡,从产品形态角度来说,又可以分为硬件负载均衡和软件负载均衡。 全局负载均衡一般通过DNS实现,通过将一个域名解析到不同VIP,来实现不同的region调度能力;硬件负载均衡器常见的有F5、A10、Array,它们的优缺点都比较明显, 优点是功能强大,有专门的售后服务团队,性能比较好,缺点是缺少定制的灵活性,维护成本较高;现在的互联网更多的思路是通过软件负载均衡来实现,这样可以满足各种定制化需求,常见的软件负载均衡有LVS、Nginx、Haproxy。 1:负载均衡有几种方式? 1.1 财大气粗的用F5 工作在Tcp协议下 1.2 不差钱的用DNS负载均衡,不过有些域名供应商不支持 1.3 技术牛逼的用Lvs 工作在Tcp协议下 1.4 初创型的小公司用Ngnix,haproxy 工作在Http协议下 2.负载均衡的集中策略 2.1 rr轮询调度算法 缺点:不考虑每台机器的处理能力 2.2 加权轮询调度算法 优点:考虑了每台机器的处理能力 2.3 sh原地址散列 2.4 dh目标地址散列 优点

LVS负载均衡--NAT模式

谁说胖子不能爱 提交于 2020-01-15 14:45:35
群集应用概述 群集的含义 Cluster,集群、群集 由多台主机构成,但对外只表现为一个整体 群集分类 根据群集所针对的目标差异,可分为三种类型 负载均衡群集 高可用群集 高性能运算群集 负载均衡群集(Load Balance Cluster) 以提高应用系统的影响能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能 LB的负载分配依赖于主节点的分流算法 高可用群集(High Availability Cluster) 以提高应用系统的可靠性、尽可能地减少终端时间为目标,确保服务的连续性,达到高可用(HA)的容错效果 HA的工作方式包括双工和主从两种方式 高性能运算群集(High Performance Computer Cluster) 以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力 高性能运算群集的高性能依赖于“分布式运算”、“并行运算”,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力 负载均衡群集工作模式分析 负载均衡群集是目前企业用得最多的群集模型 群集的负载调度技术有三种工作模式 地址转换 IP隧道 直接路由(DR模式) NAT模式—地址转换(Network Address Translation) 简称NAT模式

死磕Nginx系列转载

好久不见. 提交于 2020-01-15 11:38:57
https://www.cnblogs.com/biglittleant/p/8979966.html 死磕nginx系列--nginx入门 死磕nginx系列--nginx配置文件 死磕nginx系统-nginx日志配置 死磕nginx系列--nginx服务器做web服务器 死磕nginx系列--使用nginx做负载均衡 死磕nginx系列--使用nginx做cache服务 死磕nginx系列--nginx 限流配置 死磕nginx系列--使用upsync模块实现负载均衡 死磕nginx系列--nginx入门 死磕nginx系列--nginx配置文件 死磕nginx系统-nginx日志配置 死磕nginx系列--nginx服务器做web服务器 死磕nginx系列--使用nginx做负载均衡 死磕nginx系列--使用nginx做cache服务 死磕nginx系列--nginx 限流配置 死磕nginx系列--使用upsync模块实现负载均衡 来源: https://www.cnblogs.com/hofmann/p/12195755.html