负载均衡

负载均衡算法 : 加权轮询

有些话、适合烂在心里 提交于 2020-03-07 03:51:46
1 加权轮询算法背景 轮询算法没有考虑每台服务器的处理能力,实际情况是每台服务器的配置、安装的业务应用等不同,其处理能力会不一样。所以,加权轮询算法的原理就是:根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能接受相应权值数的服务请求。 首先看一个简单的Nginx负载均衡配置。 http { upstream cluster { server a weight=1; server b weight=2; server c weight=4; } ... }   按照上述配置,Nginx每收到7个客户端的请求,会把其中的1个转发给后端a,把其中的2个转发给后端b,把其中的4个转发给后端c。 2 加权轮询算法描述 假设有 N 台实例 S = {S1, S2, …, Sn},配置权重 W = {W1, W2, …, Wn},有效权重 CW = {CW1, CW2, …, CWn}。每个实例 i 除了存在一个配置权重 Wi 外,还存在一个当前有效权重 CWi,且 CWi 初始化为 Wi;指示变量 currentPos 表示当前选择的实例 ID,初始化为 -1;所有实例的配置权重和为 weightSum; 那么,调度算法可以描述为: 初始每个实例 i 的 当前有效权重 CWi 为 配置权重 Wi,并求得配置权重和 weightSum; 选出 当前有效权重 最大 的实例,将

了解Nginx

﹥>﹥吖頭↗ 提交于 2020-03-07 01:40:57
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 工作期间,使用 C 语言开发了 Nginx, Nginx 作为 Web 服务器一直为 Rambler Media 提供出色而又稳定的服务. Igor Sysoev 将 Nginx 代码开源,并且赋予自由软件许可证 Nginx 是一款自由的、开源的、高性能的

Nginx负载均衡

心不动则不痛 提交于 2020-03-04 10:04:30
转载:http://www.cnblogs.com/xiaogangqq123/archive/2011/03/04/1971002.html 最近迷上了Nginx,真实麻雀虽小,五脏俱全..功能实在强大.. nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。 如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器. 下面简单的介绍下我使用Nginx做负载的体会 下载---安装Nginx这些不介绍了,前篇有介绍. windows和Linux下配置Nginx负载的写法一样,故不分开介绍. Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1)、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 2)、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 3)、fair(第三方)

安心加科技打造多维度全场景式安心加物联平台

ε祈祈猫儿з 提交于 2020-03-04 10:02:23
公司介绍 广东省安心加科技有限公司是一家专注于地产行业智能化和物联网领域,集研发、销售、咨询、设计、实施、运维于一体的高科技公司,运用物联网、云计算、大数据、人工智能等技术,自主研发核心产品与整合行业资源,通过掌握核心技术,打造安全、便捷、智慧、开放的安心加物联平台,广泛服务于家庭、社区、长租公寓、楼宇、园区、酒店、商业、校园等场景,形成一整套完整的智慧解决方案体系,为地产全业态的营销、管理和运营全面赋能。通过安心加物联平台,解决不同品牌、不同品类、不同协议的互联互通问题,运用统一的标准部署前端设备应用,实现大数据的归集与分析,为客户提供“云+边+端”的一体化全链式智能场景解决方案,为各类不同的用户场景和业务赋能。目前,安心加科技已经成功布局全国7大区域31个省份和4个海外国家,成功实现超1800个项目的智能化落地与升级,超200万智能硬件终端接入安心加平台,并为超130万使用安心加APP的用户提供智慧生活服务 业务痛点 我司业务模块多,而业务模块的访问和协议相对分散,集中管理成本大。 业务数据和设备日志数据指数级增长,自建数据服务和管理成本。 智能终端量大,对于数据交互和响应速度实时性要求高,需要高性能的服务能力。 解决方案 解决方案逻辑图 方案细节: 通过阿里云APIGateway,统一内部系统个业务接口规范,形成一套标准化的AP体系。 借助阿里云低成本、高可靠的oss存储服务

Ribbon

爱⌒轻易说出口 提交于 2020-03-03 03:24:49
1.概念 Ribbon是Netflix开发的客户端负载均衡器,为Ribbon配置 服务提供者地址列表 后,Ribbon就可以基于某种 负载均衡策略算法 ,自动地帮助服务消费者去请求 提供者。Ribbon默认为我们提供了很多负载均衡算法,例如轮询、随机等。我们也可以实现自定义负载均衡算法。 Ribbon作为Spring Cloud的负载均衡机制的实现, Ribbon可以单独使用,作为一个独立的负载均衡组件。只是需要我们手动配置 服务地址列表。 Ribbon与Eureka配合使用时,Ribbon可自动从Eureka Server获取服务提供者地址列表(DiscoveryClient),并基于负载均衡算法,请求其中一个服务提供者实例。 Ribbon与OpenFeign和RestTemplate进行无缝对接,让二者具有负载均衡的能力。OpenFeign默认集成了ribbon。 2.核心类:ILoadBalancer 里面包括了所有的 服务提供者集群 的:ip和端口。service-sms:8002,8003 每个服务都有一个ILoadBalancer,ILoadBalancer里面有该服务列表 。 ILoadBalancer的默认的实现类是:ZoneAwareLoadBalancer。 Rule默认:com.netflix.loadbalancer.ZoneAvoidanceRule

nginx和tomcat的区别

女生的网名这么多〃 提交于 2020-03-03 03:22:27
web上的server都叫web server,但是大家分工也有不同的。 nginx常用做静态内容服务和代理服务器(不是你FQ那个代理),直面外来请求转发给后面的应用服务(tomcat,django什么的),tomcat更多用来做做一个应用容器,让java web app跑在里面的东西,对应同级别的有jboss,jetty等东西。 但是事无绝对,nginx也可以通过模块开发来提供应用功能,tomcat也可以直接提供http服务,通常用在内网和不需要流控等小型服务的场景。 apache用的越来越少了,大体上和nginx功能重合的更多。 严格的来说,Apache/Nginx 应该叫做「HTTP Server」;而 Tomcat 则是一个「Application Server」,或者更准确的来说,是一个「Servlet/JSP」应用的容器(Ruby/Python 等其他语言开发的应用也无法直接运行在 Tomcat 上)。 一个 HTTP Server 关心的是 HTTP 协议层面的传输和访问控制,所以在 Apache/Nginx 上你可以看到代理、负载均衡等功能。客户端通过 HTTP Server 访问服务器上存储的资源(HTML 文件、图片文件等等)。通过 CGI 技术,也可以将处理过的内容通过 HTTP Server 分发,但是一个 HTTP Server

Docker下Nginx+Tomcat实现负载均衡

荒凉一梦 提交于 2020-03-02 22:22:38
1.在宿主机安装docker并启动 2.拉取nginx、tomcat镜像。 3.启动tomcat镜像并创建新首页 docker run - d - p 8081 : 8080 -- name tomcat1 tomcat镜像ID docker run - d - p 8082 : 8080 -- name tomcat2 tomcat镜像ID docker run - d - p 8083 : 8080 -- name tomcat3 tomcat镜像ID 配置新首页 vi index1.jsp hello world vi index2.jsp hello world2 vi index3.jsp`` hello world3 三个容器分别执行 docker cp index1 . jsp tomcat1 : / usr / local / tomcat / webapps / ROOT / index . jsp docker cp index2 . jsp tomcat2 : / usr / local / tomcat / webapps / ROOT / index . jsp docker cp index3 . jsp tomcat3 : / usr / local / tomcat / webapps / ROOT / index . jsp 4.启动nginx容器

负载均衡

南笙酒味 提交于 2020-03-02 20:32:15
负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。 负载均衡算法 1、轮询法 轮询法,就是将用户的请求轮流分配给服务器,就像是挨个数数,轮流分配。这种算法比较简单,他具有绝对均衡的优点,但是也正是因为绝对均衡它必须付出很大的代价,例如它无法保证分配任务的合理性,无法根据服务器承受能力来分配任务。 2、随机法 随机法,是随机选择一台服务器来分配任务。它保证了请求的分散性达到了均衡的目的。同时它是没有状态的不需要维持上次的选择状态和均衡因子[5]。但是随着任务量的增大,它的效果趋向轮询后也会具有轮询算法的部分缺点。 3、最小连接法 最小连接法,将任务分配给此时具有最小连接数的节点,因此它是动态负载均衡算法。一个节点收到一个任务后连接数就会加1,当节点故障时就将节点权值设置为0,不再给节点分配任务。 负载均衡实现 硬件实现 F5 软件实现方式 LVS(四层) nginx 或haproxy (七层) LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一,是根据iptables的实现来开发的

Nginx 配置实例之负载均衡 centos环境

天涯浪子 提交于 2020-03-02 18:00:31
实现效果 (1)浏览器地址栏输入地址 http://192.168.216.131/edu/a.html ,负载均衡效果,平均8080和8081端口中。 准备工作 (1)准备两台tomcat服务器,一台8080,一台8081 (2)在两台tomcat里面webapps目录中,创建名称是edu文件夹,在edu文件夹中创建页面a.html,用于测试 配置nginx负载均衡配置 找到nginx目录下conf中的nginx.conf 配置两块地方,其中upstream 后面的myserver是自己起的一个名字,涌入下面代理的,具体如下图: 最后我们从新启动一下nginx就可以了 效果展示,能刷新实现负载到两个tomcat中即可 nginx分配服务器的策略 第一种 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除 第二种 weight weight 代表权重默认为1,权重越高被分配的客户端就越多 第三种 ip_hash 每个请求按访问的ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session共享问题 第四种 fair 按后端服务器的响应时间来分配请求,响应时间短的优先分配 来源: oschina 链接: https://my.oschina.net/luocx/blog/3185299