负载均衡

Nginx学习

自作多情 提交于 2019-12-19 12:52:42
一、nginx的基本概念 1、nginx是什么,能做什么事情 1.1 nginx概述 nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强。nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接 2、反向代理 2.1 正向代理 在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问(正向代理代理的是客户端,服务器不知道实际的客户端是谁) 2.2 反向代理 反向代理代理的是服务器,客户端对反向代理是无感知的,我们只需要将请求发送到反向代理服务器,由反向代理服务器取选择目标服务器再返回给客户端,客户端不知道真正的后台服务器是谁,暴露的是代理服务器的地址。 3、负载均衡 在服务器访问量很大的情况下,单个服务器无法承担那么高的并发数,因此我们增加服务器的数量,然后将请求分发到多个服务器上,将原先请求集中在单个服务器上改为将请求分发刀多个服务器上,这就是负载均衡。 4、动静分离 为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力 二、nginx安装、命令和和配置文件 1、在linux系统中安装nginx 1.1 安装依赖包:yum -y install make zlib zlib-devel gcc-c++ libtool

Nginx+Tomcat搭建高性能负载均衡集群

穿精又带淫゛_ 提交于 2019-12-19 03:30:36
一、 工具   nginx-1.8.0   apache-tomcat-6.0.33 二、 目标   实现高性能负载均衡的Tomcat集群:    三、 步骤   1、首先下载Nginx。要下载稳定版:      2、然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2:      3、然后改动这两个Tomcat的启动port。分别为18080和28080。以下以改动第一台Tomcat为例。打开Tomcat的conf文件夹下的server.xml:      共需改动3处port:      当然第二台Tomcat也一样,例如以下图:      4、然后启动两个Tomcat,并訪问,看是否正常:         5、然后改动上面两个Tomcat的默认页面(为了区分以下究竟訪问的是那一台Tomcat。随便改一下就可以):      改完以后,进行訪问,例如以下图:         6、OK,如今我们能够開始配置Nginx来实现负载均衡了。事实上很的简单。仅仅须要配置好Nginx的配置文件就可以:      配置例如以下(这里仅仅进行了简单的配置,实际生产环境能够进行更具体完好配置): worker_processes 1;#工作进程的个数,一般与计算机的cpu核数一致 events { worker

SpringCloud 组件概述

大城市里の小女人 提交于 2019-12-18 21:36:35
SpringCloud 组件概述 在 SOA 时代,用户、资讯、图片资源、产品。。。等等等等一系列的 服务 ,我们都可以用 SpringBoot 来实现,做成一个个的服务,随着服务的数量变多,比如到达100个以后,可能还会面临 分布式服务 的部署,这样服务的数目就更是 翻 了一倍,如何方便的统一的 可视化的管理 这些微服务,保证这些服务的 高可用性 至关重要, SpringCloud 就是一种 服务治理 的解决方案。其中包含了众多的组件帮助使用者方便的完成 服 务注册和发现 、 服务调用方式 、 断路器 、 负载均衡 、 服务路由和过滤 、 分布式配置 、 集群选主 , 分布式消息 等功能。下面将一一介绍这些组件。 注册中心 Eureka Eureka 意为 古希腊语:发现 。 Eureka 由 Eureka Server 和 Eureka Client 组成,Eureka Server 是服务的注册中心,用于管理注册服务的列表。 同时 Eureka Server 也可以做成高可用的集群模式, Eureka Server 采用的是 Peer to Peer 对等通信,这是一种去中心化的架构,没有 Master/Slave 的概念,节点之间通过互相注册来提高注册中心集群的可用性,在 eureka.client.serviceUrl.defaultZone 中需要相互注册(N注册其他N

LVS负载均衡群集

半腔热情 提交于 2019-12-18 19:50:59
群集应用概述 群集的含义 1.Cluster,集群、群集 2.由多台主机构成,但对外只表现为一个整体 在互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器力不从心 解决方法: 1.使用价格昂贵的小型机、大型机 2.使用普通服务器构建服务群集 企业群集分类 根据群集所针对的目标差异,可分为三种类型 : 1.负载均衡群集(轮询,最小连接的加权重) 2.高可用群集(访问的速度,可靠性) 3.高性能运算群集(并发处理任务) 负载均衡群集(Load Balance Cluster) 1.以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、负载(LB) 的整体性能 2.LB的负载分配依赖于主节点的分流算法 高可用群集(High Availability Cluster) 1.以提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA) 的容错效果 2.HA的工作方式包括双工和主从两种模式 高性能运算群集(High Performance Computer Cluster) 1.以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力 2.高性能运算群集的高性能依赖于"分布式运算”、“并行计算” ,通过专用硬件和软件将多个服务器的CPU

nginx 反向代理和负载均衡

亡梦爱人 提交于 2019-12-18 13:51:39
1.nginx负载均衡   网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时候来自web前端的压力,也能让人十分头痛。怎样将同一个域名的访问分散到两台或更多的机器上呢?这其实就是另一种负载均衡了,nginx自身就可以做到,只需要做个简单的配置就行。   nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。 Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1)、轮询(默认)   每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2)、weight   指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 2)、ip_hash   每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 3)、fair(第三方)   按后端服务器的响应时间来分配请求,响应时间短的优先分配。 4)、url_hash(第三方) 2.nginx负载均衡配置

负载均衡简介

谁说胖子不能爱 提交于 2019-12-18 11:50:54
负载均衡是高可用网络基础架构的的一个关键组成部分,有了负载均衡,我们通常可以将我们的应用服务器部署多台,然后通过负载均衡将用户的请求分发到不同的服务器用来提高网站、应用、数据库或其他服务的性能以及可靠性。 为什么要引入负载均衡? 先看一个没有负载均衡机制的web架构: 上图中的架构有什么缺陷了? 首先 ,用户是通过网络直接和web服务器相连,想象一下,如果这个服务器挂了(这种情况随时都可能发生的),那么用户的请求就会得不到响应,将无法访问该网站,这就是著名的单点故障问题,这肯定是不行的,一般而言,商业上的网站其可靠性需要达到至少4个9,也就是99.99&以上。 其次 ,即使服务器是正常工作的情况,但是如果很多用户在同一时间内访问服务器,超过了服务器的处理能力,那么会出现响应速度慢甚至无法连接的情况,这也是用户无法接受的。 负载均衡的出现可以很好的解决上面两个问题,通过引入一个负载均衡器和至少两个web 服务器,可以有效的解决上面两个问题。 注 :通常情况下,所有的后端服务器会保证提供相同的内容,以便用户无论哪个服务器响应,都能收到一致的内容。 如上图架构,现在,即使App 01即使挂了,负载均衡会将用户的请求转发到正常工作的App 02上,这解决了上面的第一个问题;其次,根据业务需要,负载均衡后端的App可以很方便的扩展,这样就能解决第上面的第二个问题。但是

Nginx+Tomcat负载均衡和动静分离

。_饼干妹妹 提交于 2019-12-18 10:13:49
实验环境 Nginx服务器(192.168.13.177) Tomcat1服务器(192.168.13.151) Tomcat2服务器 (192.168.13.178) client测试机 一,负载均衡 1,在Tomcat1,Tomcat2上安装Tomcat服务 [root@tomcat1 ~]# systemctl stop firewalld.service ##关闭防火墙 [root@tomcat1 ~]# mkdir /abc [root@tomcat1 ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/ [root@tomcat1 ~]# cd /abc/tomcat/ [root@tomcat1 tomcat]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/ ##解压JDK [root@tomcat1 tomcat]# vim /etc/profile ##配置环境变量 ##大G末行加入 export JAVA_HOME=/usr/local/jdk1.8.0_91 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME

Nginx安装及配置详解

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

cdn服务器

喜欢而已 提交于 2019-12-18 00:25:48
CDN的基本原理和基础架构 CDN是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。 最简单的CDN网络由一个DNS服务器和几台缓存服务器组成: 当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。 CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。 用户向CDN的全局负载均衡设备发起内容URL访问请求。 CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。 区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。 全局负载均衡设备把服务器的IP地址返回给用户。 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容

haproxy配置详解

对着背影说爱祢 提交于 2019-12-17 23:31:50
一、HAProxy简介 1.HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 2.HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。 3.HAProxy 支持全透明代理(已具备硬件防火墙的典型特点): 可以用客户端IP地址或者任何其他地址来连接后端服务器. 这个特性仅在Linux 2.4/2.6内核打了cttproxy补丁后才可以使用. 这个特性也使得为某特殊服务器处理部分流量同时又不修改服务器的地址成为可能。 二、HAProxy工作原理 HAProxy由前端(frontend)和后端(backend),前端和后端都可以有多个。也可以只有一个listen块来同时实现前端和后端。这里主要讲一下frontend和backend工作模式。 前端(frontend)区域可以根据HTTP请求的header信息来定义一些规则,然后将符合某规则的请求转发到相应后端(backend)进行处理。 三、HAProxy性能 HAProxy借助于OS上几种常见的技术来实现性能的最大化,所有的这些细微之处的优化实现了在中等规模负载之上依然有着相当低的CPU负载,甚至于在非常高的负载场景中,5%的用户空间占用率和95%的系统空间占用率也是非常普遍的现象