负载均衡

负载均衡Nginx+KeepAlived

坚强是说给别人听的谎言 提交于 2020-02-26 00:38:09
192.168.1.150 VOIP 虚拟IP 192.168.1.151 CNSHANK01 负载均衡1 192.168.1.152 CNSHANK02 负载均衡2 系统:Centos7.4 一、nginx配置(两台nginx配置一模一样,主页设置不同): 安装: yum -y install nginx 配置: vim /etc/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; include /usr/share/nginx/modules/*.conf; events { worker_connections 12800; use epoll; } http { include mime.types; default_type application/octet-stream; limit_conn_zone $binary_remote_addr zone=addr:10m; #防IP*** log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http

nginx---基础介绍

懵懂的女人 提交于 2020-02-25 23:58:52
转自:https://www.cnblogs.com/wcwnina/p/8728391.html Nginx的产生 没有听过Nginx?那么一定听过它的“同行”Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locator)URL作为沟通依据,通过HTTP协议提供各种网络服务。 然而,这些服务器在设计之初受到当时环境的局限,例如当时的用户规模,网络带宽,产品特点等局限并且各自的定位和发展都不尽相同。这也使得各个WEB服务器有着各自鲜明的特点。 Apache的发展时期很长,而且是毫无争议的世界第一大服务器。它有着很多有点:稳定、开源、跨平台等等。但是由于它出现的时间太长了。它兴起的年代,互联网产业远比不上现在。所以它被设计为一个重量级的。不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。 这些都决定了Apache不可能成为高性能WEB服务器,轻量级高并发服务器Nginx就应运而生了。 俄罗斯的工程师Igor Sysoev,他在为Rambler Media工作期间

# IT明星不是梦 #分布式负载均衡算法之亲和性轮询

北城以北 提交于 2020-02-25 22:05:15
无论是在早期的负载均衡器中,还是当前微服务基于客户端的负载均衡中,都有一个最基础的轮询算法,即将请求平均分布给多台机器,今天聊聊在此基础上, kube proxy是如何实现亲和性轮询的核心数据结构. 了解亲和性策略实现,失败重试等机制 1. 基础筑基 1.1 Service与Endpoints Service和Endpoint是kubernetes中的概念,其中Service代表一个服务,后面通常会对应一堆pod,因为pod的ip并不是固定的,用Servicel来提供后端一组pod的统一访问入口, 而Endpoints则是一组后端提供相同服务的IP和端口集合 在这节内容中大家知道这些就可以来, 1.2 轮询算法 轮询算法可能是最简单的算法了,在go里面大多数实现都是通过一个slice存储当前可以访问的后端所有地址,而通过index来保存下一次请求分配的主机在slice中的索引 1.3 亲和性 亲和性实现上也相对简单,所谓亲和性其实就是当某个IP重复调用后端某个服务,则将其转发到之前转发的机器上即可 2. 核心数据结构实现 2.1 亲和性实现 2.1.1 亲和性之亲和性策略 亲和性策略设计上主要是分为三个部分实现: affinityPolicy:亲和性类型,即根据客户端的什么信息来做亲和性依据,现在是基于clientip affinityMap

spring boot 负载均衡Ribbon

余生长醉 提交于 2020-02-25 21:58:08
spring boot 负载均衡Ribbon 1. RestTemplate简介 2. Ribbon简介 3. 实例--使用RestTemplate和Ribbon消费服务 3.1 启动eureka server 3.2 多实例启动eureka client 3.3 验证eureka 3.4 创建 Ribbon模块 3.5 配置 3.6 创建Ribbon Config类 3.7 创建service 3.8 service test 3.9 创建controller 3.10 controller test 3.11 启动 4. LoadBalancerClent 5. 本地serverList git地址 https://github.com/a18792721831/studySpringCloud.git 1. RestTemplate简介 RestTemplate 是 Spring Resources 中一个访问第三方RESTful API 接口的网络请求框架。RestTemplate 的设计原则和其他 Spring Template(例如JdbcTemplate、JmsTemplate)类似,都是为执行复杂任务提供了一个具有默认行为的简单方法。 RestTemplate 是用来消费 REST 服务的,所以 RestTemplate 的主要方法都与REST的

负载均衡算法记载

て烟熏妆下的殇ゞ 提交于 2020-02-25 17:11:12
本篇主要记载常见的几种负载均衡算法: 假如现在有服务器列表:A、B、C 随机 简单随机算法:随机很简单,就是产生随机数,每次调用根据随机数对应的机器 加权随机算法: 1.根据权重比值,修改对应机器的占比,基于简单随机算法实现。(权重太多,对应的列表size过大) 2.根据坐标轴方式: 将机器对应的权重映射到坐标轴上,随机算法产生随机数,然后随机数与坐标轴坐标对比,看落在哪个区间,这就对应哪个机器。 例:A->3,B->4,C->3 0---3----7---10, 产生8,8<targetValue return else 5=8-3; 5<targetValue 轮询(RoundRobin) 1.简单轮询算法:做一个全局计数器,每次调用递增1,取模。 2.加权轮询算法:也可以基于加权随机坐标轴的方法。可能会出现AAABBBBCCC,这样就不是很均匀。极端情况下权重配置也会导致某台服务器负载很大。引入动态权重的概念,动态权重=静态权重+上次的动态权重结果 过程: curWeight += weight max(curWeight) result max(curWeight) -= totalWeight 5,1,1 5 A -2,1,1 3,2,2 3 A -4,2,2 1,3,3 3 B 1,-4,3 6,-3,4 6 A -1,-3,4 4,-2,5 5 C 4,-2,-2 9

一致性哈希

夙愿已清 提交于 2020-02-24 21:36:40
一致性哈希是指分布式系统做负载均衡策略时的一种算法。 前言:本身负载均衡策略有一种模式是通过hash算法,将一些固定请求映射到固定某台服务器上。这样有个弊端就是,如果某台服务器挂了,或者新增机器的时候,这种用户id与服务器的hash关系就会大量失效。 一致性哈希的出现主要是为了解决此场景。 原理:1.将所有服务器的ip地址首先计算出来,从0-最大正整数之间形成一个闭环。    2.用户请求时,将用户的ip hash值计算出来后,看离着闭环上的哪台服务器的节点最近,就由那台服务器去处理请求。    3.特性:单调性、分散性、平衡性。 扩展:1. 虚拟节点,为了降低分散性,节约成本(加机器成本太高)。    2. 均匀一致性哈希: 使每台服务器尽量负载均衡。 以上只为小叙,详情参考大佬文章: https://www.jianshu.com/p/e968c081f563   来源: https://www.cnblogs.com/camouflage/p/12358677.html

Nginx+keepalive 负载均衡

醉酒当歌 提交于 2020-02-24 09:50:48
1 规划和准备 两台相同配置的web 用途 IP MASTER 192.168.1.100 BACKUP 192.1681.101 2 安装 两台接入服务器分别安装NginX和keepalived: 准备依赖包: yum -y install gcc pcre-devel zlib-devel openssl-devel yum -y install popt-devel 下载 wget http://nginx.org/download/nginx-1.2.4.tar.gz wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz 安装NginX 安装keepalive tar zxvf keepalived-1.2.7.tar.gz cd keepalived-1.2.7 ./configure make make install cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ mkdir /etc/keepalived cp /usr/local/etc/keepalived/keepalived.conf /etc

Nginx负载均衡配置

对着背影说爱祢 提交于 2020-02-24 09:50:13
1.安装Nginx 使用 sudo apt-get install nginx 就能自动安装 Nginx,为了确保获得最新的 Nginx,可以先使用 sudo apt-get update 命令更新源列表。 安装好之后,使用 dpkg -S nginx 命令来搜索 nginx相关文件,可以从命令显示结果看出 Nginx默认的安装位置是/etc/nginx目录,其配置文件nginx.conf也是在该目录下,并且在 etc/init.d 下有 nginx的启动程序,该目录下的程序都会在系统开启时启动。 此外,Nginx的默认网站目录是 /usr/share/nginx/html/,默认Nginx网站配置文件为 /etc/nginx/sites-available/default 。 启动 Nginx服务,使用下面两个命令任意一个即可: sudo /etc/init.d/nginx start sudo service nginx start 使用 netstat -anp 则可以看到80端口已经处于 LISTEN状态了。 直接查看80端口可以使用命令:sudo lsof -i :80 在浏览器输入 127.0.0.1后,就可以看见 Nginx的欢迎页面了。 之后安装LNMP环境 2.配置反向代理 将nginx的请求代理到 IP为139.196.142.229的服务器上

nginx简介和配置gd

旧时模样 提交于 2020-02-23 22:30:20
转自:https://www.cnblogs.com/zhouxinfei/p/7862285.html nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。 这里主要通过三个方面简单介绍nginx 反向代理 负载均衡 nginx特点 1. 反向代理 关于代理 说到代理,首先我们要明确一个概念,所谓代理就是一个代表、一个渠道; 此时就设计到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称为代理操作过程;如同生活中的专卖店~客人到adidas专卖店买了一双鞋,这个专卖店就是代理,被代理角色就是adidas厂家,目标角色就是用户 正向代理 说反向代理之前,我们先看看正向代理,正向代理也是大家最常接触的到的代理模式,我们会从两个方面来说关于正向代理的处理模式,分别从软件方面和生活方面来解释一下什么叫正向代理 在如今的网络环境下,我们如果由于技术需要要去访问国外的某些网站,此时你会发现位于国外的某网站我们通过浏览器是没有办法访问的,此时大家可能都会用一个操作FQ进行访问,FQ的方式主要是找到一个可以访问国外网站的代理服务器,我们将请求发送给代理服务器

Nginx安装及配置详解

大兔子大兔子 提交于 2020-02-23 22:25:54
枫飞飞 Nginx安装及配置详解 转自:https://www.cnblogs.com/zhouxinfei/p/7862285.html nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。 这里主要通过三个方面简单介绍nginx 反向代理 负载均衡 nginx特点 1. 反向代理 关于代理 说到代理,首先我们要明确一个概念,所谓代理就是一个代表、一个渠道; 此时就设计到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称为代理操作过程;如同生活中的专卖店~客人到adidas专卖店买了一双鞋,这个专卖店就是代理,被代理角色就是adidas厂家,目标角色就是用户 正向代理 说反向代理之前,我们先看看正向代理,正向代理也是大家最常接触的到的代理模式,我们会从两个方面来说关于正向代理的处理模式,分别从软件方面和生活方面来解释一下什么叫正向代理 在如今的网络环境下,我们如果由于技术需要要去访问国外的某些网站,此时你会发现位于国外的某网站我们通过浏览器是没有办法访问的,此时大家可能都会用一个操作FQ进行访问