负载均衡

nginx的基本功能和原理

痴心易碎 提交于 2019-11-27 16:41:12
一、Nginx的模块和工作原理   nginx由内核和模块组成:   1.内核:其设计非常微小和简洁,完成的工作也非常简单。仅通过查找配置文件将客户端请求映射到一个location block(location是nginx配置中的一个指令,用例URL匹配),而在这个location中所配置的每个指令将会启动不同的模块取完成相应的工作。   2.从结构上分为‘核心模块、基础模块、第三方模块’:    核心模块:HTTP模块、EVENT模块、MAIL模块。    基础模块:HTTP Access模块、HTTPFastCGI模块、HTTP Proxy模块、HTTP Rewrite模块。    第三方模块:HTTP Upstream Request Hash模块、Notice模块、HTTP Access Key模块以及根据需求自己开发的模块。   3.从功能上划分为‘Handlers、Filters、Proxies’:    Handlers(处理器模块):此类模块直接出来请求,并输出内容和修改headers信息等操作。Handlers处理器模块一般只能有一个。    Filters(过滤器模块):此类模块主要对其他处理器模块输出的内容进行修改操作,最后有nginx输出。    Proxies(代理类模块):此类模块是nginx的HTTP Upstream质量的模块

认识集群和集群方案

和自甴很熟 提交于 2019-11-27 16:09:08
一、什么是集群 集群(cluster)就是将多个相同的工程集中起来提供同一种服务,这些单个的工程就是集群的节点(node)。基于集群的横向扩展性,可以通过增加节点数量实现并发线性增长。同时也可以用多个工程做备份,避免单机不可用导致系统停止造成的损失(业务中断、数据/模板丢失),确保系统 7*24h 稳定运行。 二、 Web 集群特点 2.1 高可用性 1)无主机模式,某一节点宕机后集群系统仍可正常提供服务; 2)节点宕机后,自动切换其他节点,已登录的用户无需重新登录。 2.2 高一致性 1)各节点间平台配置信息和资源文件修改更新能够实时同步; 2)智能检测各节点的 JAR 包、插件版本,并能做到异常提醒。 2.3 强扩展性 基于良好的架构设计,Web 集群具有良好的横向扩展性,可以通过增加节点数量实现并发线性增长,从而获得较高的并发支撑性能。 2.4 使用简单 1)简单可视化配置,80% 的配置都可在平台上完成; 2)支持热部署,增加删除节点无须重启集群,只需要拷贝节点文件即可; 3)实时监控各节点的运行状态,如内存使用情况。 三. 集群方案介绍 Web 集群方案由“负载均衡+Web 容器+状态服务器+文件服务器+外置数据库”组成,下面对方案各个部分的作用进行简单介绍: 1 负载均衡 负载均衡的作用是依据算法将用户的请求合理分配到集群的各个节点上,以减轻单个工程的压力

非常有意思的Flowlet

懵懂的女人 提交于 2019-11-27 14:55:36
分享一下我老师大神的人工智能教程!零基础,通俗易懂! http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 周五了解到一个叫做Flowlet的东西,比较有意思。大体上说来,它是由一个问题而引出的一个解决方案,由于理解还不够深入,所以也暂时只能这么说。   我先从问题说起。 ISP的动态负载均衡 由于公共骨干网上流量的不确定性,每一条链路的负载不尽相同,为了保证总带宽的最佳利用率,ISP往往会做一些动态负载均衡的策略。如下图所示: 时刻1: 时刻2: packet负载均衡和flow负载均衡 到底是按照packet做负载均衡呢还是按照一个五元组flow来做负载均衡呢?这是一个问题,很多人在做负载均衡的时候都会面临这个选择问题。   具体来讲,如果一条flow是强序的,那么基于packet的负载均衡将会导致乱序,这是设备在做负载均衡时要避免的,比如TCP就不能基于packet来做负载均衡,而对于UDP这种协议便可以。   目前从主机到中间设备,几乎所有的从板卡,网卡队列,到CPU中断,到hash算法,均有机制保证TCP的强序性。 TCP的问题 正是由于TCP是强序的,所以TCP便无法基于packet做负载均衡,也就意味着, 只要一条TCP流已经发起了,它就几乎不能再改变底层链路了

Ubuntu10.04.4 Server下基于LVS DR模式+Keepalived的负载均衡高可用

南楼画角 提交于 2019-11-27 13:18:23
Ubuntu10.04.4 Server下基于LVS DR模式+Keepalived的负载均衡高可用集群 LVS+Keepalived 介绍 2 LVS 2 Keepalvied 2 ubuntu系统环境准备工作 2 更换Ubuntu软件源 2 架构拓扑图 2 服务安装 3 安装LVS 3 安装Keepalived 3 服务配置 4 配置LVS实现负载均衡 4 LVS Server 4 Real Server 4 测试LVS 5 配置keepalived实现高可用 5 LVS Server 5 测试keepalived 6 附录A lvs参数简介 6 LVS+Keepalived 介绍 申明:这只是我照着网络上的相关技术文档做实验后的整理 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR); 十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。 Keepalvied Keepalived在这里主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现

nginx和tomcat负载均衡

折月煮酒 提交于 2019-11-27 13:03:45
nginx tomcat负载均衡 概述 部署 最后 补充 概述 Nginx专为性能优化开发,其知名优点就是他的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,正因如此,大量提供社交网络,新闻资讯,电子商务,及虚拟主机等服务选择Nginx来提供web服务 tomcat简介 此为一款免费开源的wen应用服务器,属于轻量级应用服务器,在中小型企业中普遍使用,是开发jsp程序的首选,一般来说 tomcat虽然和apache或者nginx这些web服务器一样,具有处理html页面的功能,然而处理静态html的能力却不及apache 所以通常作为一个servlet和jsp容器,在后端运行 部署 安装Nginx服务 下载Nginx软件包,在官方下载,并解压 安装依赖软件 yum -y install openssl-devel pcre-devel 进入目录,编译安装 ./configure --prefix=/usr/local/nginx --user=nginx --group=ngixn --with-stream make &&make install 做路径优化 创建一个nginx用户 查看是否安装好 开启另一台linux主机安装tomcat 安装tomcat是要有java的环境的,linux一般会自带没有自带的话yum安装或解压安装都可以 解压jdk-8u91

Tomcat结合Nginx使用入门

做~自己de王妃 提交于 2019-11-27 12:53:30
Nginx : Nginx 是一款高性能,轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 特点是:占有内存少,并发能力强。 反向代理服务器: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器, 并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 通俗的讲: 反向代理方式实际上就是一台负责转发的代理服务器,貌似充当了真正服务器的功能,但实际上并不是,代理服务器只是充当了转发的作用,并且从真正的服 务器那里取得返回的数据。这样说,其实nginx完成的就是这样的工作。我们让nginx监听一个端口,譬如80端口,但实际上我们转发给在8080端口 的tomcat,由它来处理真正的请求,当请求完成后,tomcat返回,但数据此时没直接返回,而是直接给nginx,由nginx进行返回,这里,我 们会以为是nginx进行了处理,但实际上进行处理的是tomcat。 说到上面的方式,也许很多人又会想起来,这样可以把静态文件交由nginx来进行处理。对,很多用到nginx的地方都是作为静态伺服器,这样可以方便缓存那些静态文件,比如CSS,JS,html,htm等文件。 Nginx怎么使用 : 1)要用到的软件当然要下载啦

Windows下Nginx+Tomcat配置

故事扮演 提交于 2019-11-27 12:39:06
刚刚接触了下Nginx,发现很有趣就尝试了下,下面是我的一些配置,希望可以帮助大家。 需要的工具:Nginx和tomcat,Nginx下载地址: http://nginx.org/en/download.html ,Tomcat版本任意,根据自己安装的jdk来下载,Nginx与Tomcat的配置重点在配置文件,下面来说下具体的配置信息: 第一步,将tomcat解压,修改conf/server.xml的配置信息: //第一处要修改的地方 <Server port="18005" shutdown="SHUTDOWN"> //第二处要修改的地方 <Connector port="18081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> //第三处要修改的地方(若无冲突可不用修改) <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 启动tomcat,点击bin/start.bat,访问http://localhost:18081,页面显示正常表示启动成功。 第二步,解压Nginx,修改conf/nginx.conf的配置信息: server{ listen 80; server_name localhost;

负载均衡

房东的猫 提交于 2019-11-27 11:19:35
负载均衡(Load Balance)是一种集群技术,它将特定的业务(网络服务、网络流量等)分担给多台网络设备(包括服务器、防火墙等)或多条链路,从而提高了业务处理能力,保证了业务的高可靠性。负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 负载均衡有两方面的含义:首先,大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。目前负载均衡技术大多数是用于提高诸如在Web服务器、FTP服务器和其它关键任务服务器上的Internet服务器程序的可用性和可伸缩性。 负载均衡技术优势 高性能:负载均衡技术将业务较均衡地分配到多台设备或多条链路上,提高了整个系统的性能。 可扩展性:负载均衡技术可以方便地增加集群中设备或链路的数量,在不降低业务质量的前提下满足不断增长的业务需求。 高可靠性:单个甚至多个设备或链路发生故障也不会导致业务中断,提高了整个系统的可靠性。 可管理性:大量的管理工作都集中在应用负载均衡技术的设备上,设备群或链路群只需要通常的配置和维护即可。 透明性:对用户而言,集群等同于一个可靠性高、性能好的设备或链路

LVS-NAT负载均衡群集部署

大憨熊 提交于 2019-11-27 10:41:57
LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器 ,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图1所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调度器虽然会被转发到后端真实的服务器,但如果真实服务器连接的是相同的存储,提供的服务也是相同的服务,最终用户不管是访问哪台真实服务器,得到的服务内容都是一样的,整个集群对用户而言都是透明的。最后根据LVS工作模式的不同,真实服务器会选择不同的方式将用户需要的数据发送到终端用户,LVS工作模式分为NAT模式、TUN模式、以及DR模式。 了解负载均衡群集的原理 群集的含义 **Cluster,集群,群集** 由多台主机构成,但对外只表现为一个整体 在互联网应用中,随着站点对硬件性能,响应速度,服务稳定性,数据可靠性等要求越来越高,单台服务器力不从心 ** 解决方法** 使用价格昂贵的小型机,大型机 使用普通服务器构建服务群集 群集的分类 根据群集所针对的目标差异,可分为三种类型 负载均衡群集