nginx负载均衡配置

LVS+Keepalived

∥☆過路亽.° 提交于 2019-12-03 10:54:30
LVS+Keepalived 一,* *简介** 1,* *负载均衡的类型** l 负载均衡可以采用硬件设备(例如常常听见的 F5),也可以采用软件负载 l 商用硬件负载设备成本通常较高(一台几十万甚至上百万),所以一般 情况下会采用软件负载 l 软件负载解决的两个核心问题是:选谁、转发,其中最著名的是 lvs 2,* *LVS介绍** 2.1 LVS是什么? l 英文全称是 Linux Virtual Server,即 Linux 虚拟服务器 l 由 章 文 嵩 博 士 发 起 的 自 由 软 件 项 目 , 它 的 官 方 站 点 是 www.linuxvirtualserver.org l Linux2.4 内核以后,LVS 已经是 Linux 标准内核的一部分 l 可以将请求分发给后端真实服务器处理 l 有许多比较著名网站和组织都在使用 LVS 架设的集群系统,例如:Linux 的门 户网站( www.linux.com )、向 RealPlayer 提供音频视频服务而闻 名的 Real 公 司( www.real.com )、全球最大的开源网站 (sourceforge.net)等 l 提供了多种调度算法 1) 轮询调度(Round-Robin Scheduling)RR算法 2) 加权轮询调度(Weighted Round-Robin Scheduling)WRR算法

NGIX

妖精的绣舞 提交于 2019-12-03 10:02:34
Nginx nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件 支持高并发,能支持几万并发连接 资源消耗少,在3万并发连接下开启10个nginx线程消耗的内存不到200M 可以做http反向代理和负载均衡 支持异步网络i/o事件模型epoll 1.安装 1.安装 1.yum install nginx -y # 自动安装到某个目录 可以通过 rpm -ql nginx # 进行查询安装 2.rpm安装,不推荐 3.源代码编译安装, 推荐 可以指定安装目录 2.编译安装淘宝nginx 1.首先解决源码编译安装所需的基础开发环境 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y 2.下载源代码 wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz 3.解压缩tengine软件 tar -zxvf tengine-2.3.2.tar.gz 4

Nginx

久未见 提交于 2019-12-03 09:51:06
Nginx nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件 支持高并发,能支持几万并发连接 资源消耗少,在3万并发连接下开启10个nginx线程消耗的内存不到200M 可以做http反向代理和负载均衡 支持异步网络i/o事件模型epoll 1.安装 1.安装 1.yum install nginx -y # 自动安装到某个目录 可以通过 rpm -ql nginx # 进行查询安装 2.rpm安装,不推荐 3.源代码编译安装, 推荐 可以指定安装目录 2.编译安装淘宝nginx 1.首先解决源码编译安装所需的基础开发环境 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y 2.下载源代码 wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz 3.解压缩tengine软件 tar -zxvf tengine-2.3.2.tar.gz 4

nginx+tomcat:负载均衡配置(使用粘性session)

末鹿安然 提交于 2019-12-03 07:05:48
(1) 举个简单的例子,以tomcat为例,我们都知道session存在于服务器端,对于 不是分布式部署 ,整个系统的session都会是这 唯一的服务器 来管理。这点 没问题。但是 对于分布式部署 来说,假设有tomcatA与tomcatB,但用户user访问系统时,通过负载均衡,此user访问了位于tomcatA上的应用。系统给此用户分配了一个session来标识用户身份,并返回sessionID给浏览器。这时user又向服务器发送个请求。假设这时候负载均衡到了tomcatB,但是此时tomcatB上并没有存有user相应的session信息。根据一般应用的设置,会提示user重新登录,试想下user就这样一直登录,一直被提示未登录,这样肯定行不通。这就是session保持的问题。 解决session保持有几种方法,例如nginx自带的ip_hash模块,session复制,以及使用类似redis这种缓存数据库来实现对session的统一管理。在这里介绍的是粘性session; (2) 粘性session的概念: 用户在持续访问系统时,根据粘性session,仍会被分配到上一次访问的服务器中。 (3)粘性session的配置: 1.给nginx添加 nginx_upstream_jvm_route 模块 下载: http://down.51cto.com/data/910451

nginx

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

大型分布式网站架构设计--第1章 面向服务体系的架构

匿名 (未验证) 提交于 2019-12-03 00:27:02
本章目录: 分布式Java应用图: 分布式Java应用:大型系统会被拆分成多个子系统来实现,对于Java来说,这些子系统可能部署在同一台机器上不同的JVM,或者部署在不同机器上,但是这些子系统之间要进行相互通信来共同实现业务功能。 分布式应用架构的演变 分布式应用架构面临的首要问题,便是如何实现应用之间的远程调用(RPC)。有两种方式:一种是基于HTTP的RPC,一种是基于TCP的RPC。 RPC也就是远程调用,RPC的实现包括客户端和服务端,也就是服务提供方和服务调用方,服务调用方发送RPC请求到服务提供方,服务提供方根据服务调用方的参数执行请求方法,将执行结果返回给调用方,这就是一次RPC请求。 要注意 无论是什么类型的数据,最终都是要转成二进制在网络上传输。 对象的序列化:就是将对象转成二进制流的过程。 对象的反序列化:就是将二进制流转成对象的过程。 Java中的序列化代码: //定义一个字节数组的输出流 ByteArrayOutputStream os= new ByteArrayOutputStream(); //对象的输出流 ObjectOutputStream out = new ObjectOutputStream(os); //将对象写入字节数组输出,进行序列化 out .writeObject(zhangsan); byte [] zhangsanByte=os

漫谈互联网架构

匿名 (未验证) 提交于 2019-12-03 00:17:01
互联网的标准技术架构如下图所示,这张图基本上涵盖了互联网技术公司的大部分技术点,不同的公司只是在具体的技术实现上稍有差异,但不会跳出这个框架的范畴。 存储层技术SQL SQL即我们通常所说的关系数据。前几年NoSQL火了一阵子,很多人都理解为NoSQL是完全抛弃关系数据,全部采用非关系型数据。但经过几年的试验后,大家发现关系数据不可能完全被抛弃,NoSQL不是No SQL,而是Not Only SQL,即NoSQL是SQL的补充。 所以互联网行业也必须依赖关系数据,考虑到Oracle太贵,还需要专人维护,一般情况下互联网行业都是用MySQL、PostgreSQL这类开源数据库。这类数据库的特点是开源免费,拿来就用;但缺点是性能相比商业数据库要差一些。随着互联网业务的发展,性能要求越来越高,必然要面对一个问题:将数据拆分到多个数据库实例才能满足业务的性能需求(其实Oracle也一样,只是时间早晚的问题)。 数据库拆分满足了性能的要求,但带来了复杂度的问题:数据如何拆分、数据如何组合?这个复杂度的问题解决起来并不容易,如果每个业务都去实现一遍,重复造轮子将导致投入浪费、效率降低,业务开发想快都快不起来。 所以互联网公司流行的做法是业务发展到一定阶段后,就会将这部分功能独立成中间件,例如百度的DBProxy、淘宝的TDDL。不过这部分的技术要求很高,将分库分表做到自动化和平台化

代理和反向代理

匿名 (未验证) 提交于 2019-12-03 00:13:02
一、背景介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 二.知识剖析 1.代理服务器 一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端。 一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源。 Web代理(proxy)服务器是网络的中间实体。 代理位于Web客户端和Web服务器之间,扮演“中间人”的角色。HTTP的代理服务器即是Web服务器又是Web客户端。 2.正向代理 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 3.反向代理 反向代理 在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时

软/硬 负载均衡产品

匿名 (未验证) 提交于 2019-12-03 00:11:01
负载均衡 (Load Balance),其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行。需要我们注意的是:它并不属于网络基础架构,而是属于一种网络优化设备。它是建立在现有的网络基础架构之上,给企业提供了更廉价更有效的扩展选择。 相对来说,对于一些网站和一些网络应用而言,需不需要负载均衡,要看网站的访问量是不是增长的很快,单个处理单元无法满足负载需求时,网络应用流量将要出现瓶颈时,负载均衡才会起到作用。 当需要负载均衡来进行网络优化时,挑选一款适合自己企业的负载均衡产品就显得尤为重要了。这里我们从软件和硬件两个角度,来简单介绍一下负载均衡的一些产品。 硬件负载均衡 硬件负载均衡在国外比较流行。硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器,由于专门的设 备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。 下面就来了解一下市场中,比较主流的几类产品。 ◆F5 BIG-IP负载均衡器(LTM) BIG-IP系列产品受到了用户的广泛认可,使用的人也很多。它的强大之处是基于简单的Web管理界面,包括其他F5设备也是如此。同时,这个负载 均衡器还可以处理SSL证书。F5的主要特点之一是其广域网优化管理器,具备高可用的加密通道,同时具有广域网传输速度

深入理解负载均衡经典案例

匿名 (未验证) 提交于 2019-12-03 00:03:02
前言 闲来无事写篇文章总结下负载均衡。 正文 负载均衡 负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,同时多服务器能够消除这部分的单点故障。 当然负载均衡器本身就是一个单点故障隐患,可以考虑文章后面说的负载均衡双机热备或其他方案消除单点故障提高可用性。 一个没有使用负载均衡的Web架构一般会长得像这样: 没有负载均衡的架构 在这个例子里面,用户直接通过yourdomain.com连接Web Server,如果这一个Web Server挂了那么整个系统都无法使用,也就是我们常说的系统中的单点故障,同样如果大量的用户同时访问这一台服务器,那么这些用户很可能会遇到加载时间缓慢或者根本无法连接的问题。 这部分的 单点故障 可以通过引入负载均衡器和至少另一个Web Server来缓解。一般来说所有后端服务器会提供相同的内容,以便用户无论访问哪个服务器都会收到一致的内容。同时由于有多台服务器同时提供服务,也加大了系统的负载能力提高了性能。 负载均衡可以处理哪些类型的流量 由于一般程序员接触到的负载均衡可能大多都是处理HTTP、HTTPS流量的,但实际上负载均衡还可以处理TCP和UDP流量(比如对数据库集群的访问、DNS等)。 负载均衡算法 负载均衡算法用于确定流量应该被分发到哪一个 健康 的服务器上,常见的几个算法如下: Round