nginx负载均衡配置

Nginx+Tomcat实现负载均衡群集实例,可跟做!!!

谁说胖子不能爱 提交于 2019-11-29 07:24:06
通常情况下一台Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独用于生产环境。所以我们就需要一套更可靠的解决方案来完善Web站点架构。 Nginx是一款非常优秀的HTTP服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定、并且内存、CPU等系统资源消耗非常低。目前的很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。 案例环境 案例实施 (1)安装部署Tomcat 1服务 [root@localhost ~]# tar zxf apache-tomcat-8.5.16.tar.gz -C /usr/src [root@localhost ~]# mv /usr/src/apache-tomcat-8.5.16/ /usr/local/tomcat8 [root@localhost ~]# vim /usr/local/tomcat8/conf/server.xml …………………… //省略部分内容 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> //host定义一个虚拟主机,域名为localhost,appBase定义应用程序基准目录

大型站点高并发架构技术

社会主义新天地 提交于 2019-11-29 07:08:27
大型站点高并发架构技术 高并发: 高并发主要是由于网站PV访问量大,单台服务器涌承载大量访问所带来的压力,所以会采用多台服务器进行分流,采用服务器集群技术,对于每个访问会被发送到哪台服务器,我们采取负载均衡策略,常见的技术有LVS,由于网站中有大量的静态页面,所以采用缓存服务器和反向代理技术,包括HAPROXY,REDIS,数据库可以采用数据库集群,进行读写分离,缓解数据库压力。 大型站点高并发架构就是利用负载均衡技术、反向代理技术、数据库集群、web服务器集群、Nosql技术等,以实现单台数据器不能达到的并发量,换句话说就是用一群屌丝代替一个高富帅。 1.大型站点高并发架构是为了解决百万千万级PV带来的性能瓶颈。 2.出现高并发架构的原因是大型网站发现在巨量pv下买更多更好的服务器已经无法简单的解决问题,只能从架构 上想办法来,充分发挥设备的效能。 3. 高可用解决方案(corosync,pacemaker,KeepAlived)负载均衡(LVS)缓存服务(Varnish)反向代理(haproxy)web服务器(Apache,Nginx,Tomcat)站点架构(Lamp,Lnmp) 什么是大型站点 大型站点高并发架构。首先,什么是大型站点,大型站点至少有两个特点(1)访问量大,淘宝的每日PV有几十亿(2)后台服务器多,淘宝后台服务器据说有十多万台。然后,大型网站的高并发架构

除了负载均衡,Nginx 还可以做很多

本小妞迷上赌 提交于 2019-11-29 06:17:28
Nginx应该是现在最火的web和反向代理服务器,没有之一。她是一款诞生于俄罗斯的高性能web服务器,尤其在高并发情况下,相较Apache,有优异的表现。 那除了负载均衡,她还有什么其他的用途呢,下面我们来看下。 一、静态代理 Nginx擅长处理静态文件,是非常好的图片、文件服务器。把所有的静态资源的放到nginx上,可以使应用动静分离,性能更好。 二、负载均衡 Nginx通过反向代理可以实现服务的负载均衡,避免了服务器单节点故障,把请求按照一定的策略转发到不同的服务器上,达到负载的效果。 常用的负载均衡策略有: 1、轮询 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。 2、加权轮询 不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同。 给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,降低其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。 3、ip_hash(源地址哈希法) 根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客户端要访问服务器的序号。 采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时

浅谈web应用的负载均衡、集群、高可用(HA)解决方案

那年仲夏 提交于 2019-11-29 05:02:34
1、熟悉几个组件 1.1、apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安全Socket层(SSL)等等,目前互联网主要使用它做静态资源服务器,也可以做代理服务器转发请求(如:图片链等),结合tomcat等servlet容器处理jsp。 1.2、ngnix —— 俄罗斯人开发的一个高性能的 HTTP和反向代理服务器。由于Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻、腾讯网、搜狐博客等门户网站频道等,在3w以上的高并发环境下,ngnix处理能力相当于apache的10倍。 参kao:apache和tomcat的性能分析和对比(http://blog.s135.com/nginx_php_v6/) 1.3、lvs —— Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。由毕业于国防科技大学的章文嵩博士于1998nian5月创立,可以实现LINUX平台下的简单负载均衡。了解更多,访问官网:http://zh.linuxvirtualserver.org/。 1.4、HAProxy —— HAProxy提供 高可用性 、

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

谁说胖子不能爱 提交于 2019-11-29 05:00:32
转载请注明出处: http://www.cnblogs.com/Joanna-Yan/p/8745794.html Nginx是一个高性能的HTTP服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其占有内存少,并发能力强,在同类型的网页服务器中表现较好。Nginx可以在大多数Unix Linux OS上编译运行,并有Windows移植版。一般情况下,对于新建站点,建议使用最新稳定版作为生产版本。 单个Tomcat最大支持在线访问是500左右,要通知支持更多的访问量一个Tomcat就没法做到了。在这里我们采用集群部署方式,使用多个Tomcat,反向代理使用Nginx。 架构如下: 准备工作 apache-tomcat-7.0.61 nginx-1.12.2 Redis-x64-3.2.100 为简化示例,这里只讲Nginx+Tomcat的部署与集成。 Nginx安装 (1)去官网下载Windows的最新稳定版Nigx(我用的1.12.2版本)。 官网 (2)解压到磁盘任意目录。这里我解压在 F:\nginx-1.12.2 (3) 启动服务: start nginx.exe   停止服务:nginx -s stop   重新加载配置:nginx -s reload 修改nginx.conf 1.进程数与每个进程的最大连接数 nginx进程数

大型分布式电商系统架构演进史

爷,独闯天下 提交于 2019-11-29 02:19:54
概述 本文是学习大型分布式网站架构的技术总结。对架构一个高性能、高可用、可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考。文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值。 作者简介 烂皮猪,十余年工作经验,曾在Google等外企工作过几年,精通Java、分布式架构,微服务架构以及数据库,最近正在研究大数据以及区块链,希望能够突破到更高的境界 一、大型分布式网站架构技术 1、大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大,渐进发展 以用户为中心 免费服务,付费体验 2、大型网站架构目标 高性能:提供快速的访问体验。 高可用:网站服务一直可以正常访问。 可伸缩:通过硬件增加/减少,提高/降低处理能力。 安全性:提供网站安全访问和数据加密、安全存储等策略。 扩展性:方便地通过新增/移除方式,增加/减少新的功能/模块。 敏捷性:随需应变,快速响应; 3、大型网站架构模式 分层:一般可分为应用层、服务层、数据层、管理层与分析层; 分割:一般按照业务/模块/功能特点进行划分,比如应用层分为首页、用户中心。 分布式:将应用分开部署(比如多台物理机),通过远程调用协同工作。 集群:一个应用/模块/功能部署多份(如:多台物理机),通过负载均衡共同提供对外访问。 缓存

nginx的负载均衡

不打扰是莪最后的温柔 提交于 2019-11-29 01:47:06
nginx中的负载均衡,也是一种反向代理 负载:客户端向服务器发送请求,对于服务器来说就是负载; 均衡:把客户端发送的请求分配到多台服务器上称之为均衡;   均衡不一定是平均分配,若服务器性能不均,则会根据某种规则去进行分配 负载均衡 :把客户端发送的请求按照某种规则分配到多台服务器上称之为负载均衡。 实现负载均衡的配置:   只需要修改反向代理的配置即可。准备的服务器有 :nginx代理服务器、web01服务器、web02服务器,并装好Tomcat。   所有的配置均在nginx的快捷方式下完成,即/usr/locl/nginx-1.17.3中完成   主要在修改反向代理的upstream配置     反向代理的配置:     upstream tomcat_server{       server 192.168.23.151:8080;     }     负载均衡的配置:     upstream tomcat_server{       server 192.168.23.151:8080;       server 192.168.23.152:8080;     }   重启nginx服务器:     进入/usr/locl/nginx-1.17.3/sbin目录     ./nginx -s reload     若是报错:     nginx: [error]

缓存技术3之负载均衡缓存

南笙酒味 提交于 2019-11-29 00:48:30
说完客户端(HTTP)缓存和 CDN 缓存,我们离应用服务越来越近了,在到达应用服务之前,请求还要经过负载均衡器。 虽说它的主要工作是对应用服务器进行负载均衡,但是它也可以作缓存。可以把一些修改频率不高的数据缓存在这里,例如:用户信息,配置信息。通过服务定期刷新这个缓存就行了。 负载均衡缓存工作简图 以 Nginx 为例,我们看看它是如何工作的: 用户请求在达到应用服务器之前,会先访问 Nginx 负载均衡器,如果发现有缓存信息,直接返回给用户。 如果没有发现缓存信息,Nginx 回源到应用服务器获取信息。 另外,有一个缓存更新服务,定期把应用服务器中相对稳定的信息更新到 Nginx 本地缓存中。 注:本文摘自51CTO技术栈 来源: https://www.cnblogs.com/Haihong72H/p/11437271.html

架构整体认知

≡放荡痞女 提交于 2019-11-29 00:04:15
1、引言 本文以设计淘宝网的后台架构为例,介绍从一百个并发到千万级并发情况下服务端的架构的14次演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知。文章最后汇总了一些架构设计的原则。 2、程序员成长线 这是一条成长线的表意图,有两个部分:图上左侧的路径,是匹配不同成长阶段,对应不同职业角色;右侧是一条由不同成长阶段组成的成长线,包括如下: 征途:启程之初 修炼:程序之术 修行:由术入道 徘徊:道中彷徨 寻路:路在何方 蜕变:破茧成蝶 3、相关文章 《 新手入门:零基础理解大型分布式架构的演进历史、技术原理、最佳实践 》 《 腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面 》 《 一篇读懂分布式架构下的负载均衡技术:分类、原理、算法、常见方案等 》 《 快速理解高性能HTTP服务端的负载均衡技术原理 》 《 知乎技术分享:从单机到2000万QPS并发的Redis高性能缓存实践之路 》 《 达达O2O后台架构演进实践:从0到4000高并发请求背后的努力 》 《 小米技术分享:解密小米抢购系统千万高并发架构的演进和实践 》 《 通俗易懂:如何设计能支撑百万并发的数据库架构? 》 4、基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍。 1)什么是分布式? 系统中的多个模块在不同服务器上部署

Linux架构之Nginx 七层负载均衡

女生的网名这么多〃 提交于 2019-11-28 20:45:13
第50章 Nginx七层负载均衡 一、Nginx负载均衡基本概述 1)为什么要使用负载均衡 当我们的Web服务器直接面向用户,往往要承载大量并发请求,单台服务器难以负荷。使用多台Web服务器组成集群,前端使用Nginx负载均衡,将请求分散地打到后端服务器集群中,实现负载的分发。可以大大提升系统的吞吐率、请求性能、高容灾能力。 往往我们接触的最多的是 SLB(Server Load Balance) 负载均衡,实现最多的也是 SLB ,那么 SLB 它的调度节点和服务节点通常是在一个地域里面。它在这个小的逻辑地域里面决定了他对部分服务的实时性、响应性是非常好的。 因此,当海量用户请求过来以后,它同样是请求调度节点,调度节点将用户的请求转发给后端对应的服务节点,服务节点处理完请求后再转发给调度节点,调度节点最后响应给用户节点。这样就能实现一个均衡的作用。 Nginx 就是一个典型的 SLB 。 2)负载均衡的叫法 2.1)负载均衡的叫法有很多: 负载均衡 负载 Load Balance LB 2.2)公有云中叫法有: 阿里云负载均衡——SLB 青云负载均衡——QLB 腾讯云负载均衡——CLB ucloud负载均衡——ULB 2.3)常见的负载均衡的软件有: Nginx、Haproxy、LVS 2.4)负载均衡能实现的应用场景一: 四层负载均衡 所谓四层负载均衡指的是 OSI