Web - 负载均衡、高并发

负载均衡(Load Balance)

是建立在现有网络结构之上,提供一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性.

意思是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务.

                  负载均衡示意图

负载均衡的算法

轮询算法:按照时间顺序分配到不同的服务器,当其中一台服务器宕机则被自动剔除,切换到正常的服务器.

权重算法:按照分配给服务器的权重比例来分发到不同服务器,权重比例越高,则访问几率越大.

IP绑定(ip_hash):根据访问的IP的哈希结果来判定,使同一个IP访问一台固定的后端服务器,同时解决动态页面的session问题.

高并发

高并发的演进思路

高并发系统各不相同.比如每秒百万并发的中间件系统、每日百亿请求的网关系统、瞬时每秒几十万请求的秒杀大促系统.

在应对高并发的时候,因为系统各自自身特点的不同,所以应对架构都是不一样的.

一个最简单的系统架构

系统集群化部署

数据库分库分表+读写分离

缓存集群引入

引入消息中间件集群

高并发这个话题本身是非常复杂的,远远不是一些文章可以说的清楚的,他的本质就在于,真实的支撑复杂业务场景的高并发系统架构其实是非常复杂的;

比如说每秒百万并发的中间件系统、每日百亿请求的网关系统、瞬时每秒几十万请求的秒杀大促系统、支撑几亿用户的大规模高并发电商平台架构,等等;

各种复杂系统呈现出来的架构复杂度会远远超出大部分没接触过的同学的想象;

1、 进程、线程、协程、异步,非阻塞;——了解使用

2、 Mysql、redis、mongoDB;——理解和使用;

【高并发解决方案相关面试题】

DNS解析域名

DNS域名解析就是将域名转化为不需要显示端口(二级域名的端口一般为80)的IP地址,域名解析的一般先去本地环境的host文件读取配置,解析成对应的IP地址,根据IP地址访问对应的服务器.若host文件未配置,则会去网络运营商获取对应的IP地址和域名.

Nginx

Nginx是一个高级的轻量级的web服务器,由俄罗斯科学家开发的,具有如下优点:

1.占用内存少,并发量强,支持多种并发连接,效率高.

2.能够作为负载均衡服务器和(内部直接支持Rails和PHP)代理服务器.Nginx用C编写开销和CPU占有小.

3.安装启动简单,配置简洁,bug少,一般几个月不需要重新启动且不会宕机,稳定性和安全性好.

作用:反向代理、负载均衡、配置主备tomcat、动静分离

应用场景:做HTTP服务器、反向代理服务器、静态资源服务器

反向代理:代替真实服务器接收网络请求,然后将请求转发到真实服务器

反向代理的作用:隐藏真实服务器,使真实服务器只能通过内网访问,保护了真实服务器不被攻击.配置负载均衡,减轻单台真实服务器的压力.配置主备服务器,保持服务稳定运行.

Nginx如何配置反向代理:

首先到DNS服务器做域名解析,如果是局域网在hosts文件中配置IP和域名对应关系.编辑nginx的nginx.conf文件,配置server_name为指向nginx服务器的域名,location拦截请求,如果是访问nginx本地资源则配置root,如果是反向代理到真实服务器则配置proxy_pass为服务器地址

说说常用Nginx的相关配置:

upstream负载均衡配置

server[IP][weight][backup]配置tomcat集群

proxy_connect_timeout、proxy_read_timeout、proxy_send_timeout连接时间、真实服务器响应时间、返回结果时间

location匹配用户请求的url

root配置本地资源路径

proxy_pass配置真实服务器地址

请画图展示反向代理流程:

LVS与Nginx区别

LVS是四层反向代理,基于TCP和UDP协议,可用于管理Nginx集群,抗负载能力强.Nginx是七层反向代理,基于HTTP协议,用于管理真实服务器集群.

location的作用:

匹配用户请求url,根据不同请求转发到不同的服务器.

Nginx中如何配置负载均衡:

在upstream中配置多个server,在location的proxy_pass配置为http://+upstream名称

 

 

原文地址:https://www.cnblogs.com/qingaoaoo/p/12340917.html

时间: 2024-10-03 15:47:58

Web - 负载均衡、高并发的相关文章

LVS+Keepalived DR模式实现web负载均衡高可用

一.环境介绍: lvs_master:192.168.1.18 lvs_backup:192.168.1.19 web1:192.168.1.16 web2:192.168.1.17 vip:192.168.1.20 二.安装: 在两台lvs上安装lvs+keepalived: yum install lvsadm keepalived -y 在两台web服务器上安装nginx(安装配置略过) 配置keepalived: 主lvs上配置: vim /etc/keepalived/keepaliv

实战Nginx负载均衡高冗余高可用WEB架构

最近公司主力网站之一改版完成终于上线了,牵扯了我大半年的时间,现在终于有时间坐下来写点东西,总结沉淀一下自己的技术心得.此次,根据服务器的数量和质量,我采用负载均衡高冗余的架构,考虑单点故障,WEB也抛弃了apache,而使用的是nginx,数据库还是使用主.从架构.该架构目前承载80W的PV,没有大的压力. 这里简单谈一下web的选择疑问,是使用nginx还是apache,很多朋友在规划网站的时候都出现难以选择的问题,甚至有朋友在建设初用apache后期改成nginx.接下来我说一下我的规划选

HAproxy+Keepalived负载均衡-高可用web站

haproxy+keepalived负载均衡高可用web站   OS IP 子网掩码 路由网关 Centos6.6 HAproxy Keepalived Eth0:192.168.26.210 255.255.252.0 192.168.25.3 VIP:192.168.27.210 Centos6.6 HAporxy Keepalived Eth0:192.168.26.211 255.255.252.0 192.168.25.3 VIP:192.168.27.210 Centos6.6(WE

CentOS Linux 负载均衡高可用WEB集群之Nginx+Keepalived配置

Nginx+Keepalived实现负载均衡高可用的WEB服务集群,nginx作为负载均衡器,keepalived作为高可用,当其中的一台负载均衡器(nginx)发生故障时可以迅速切换到备用的负载均衡器(nginx),保持业务的连续性. 1.服务器的环境配置及IP分配 操作系统:CentOS release 6.7 (Final) nginx版本:nginx/1.8.0 keepalived版本:Keepalived v1.2.13 Nginx + keepalived服务器的IP分配表 服务器

CentOS Linux 负载均衡高可用WEB集群之LVS+Keepalived配置

CentOS Linux 负载均衡高可用WEB集群之LVS+Keepalived配置 LB集群是locd balance集群的简称.翻译成中文是:负载均衡集群的意思:集群是一组相互独立的.通过高速网络互联的计算机相互之间构成一个组合,并以单一的系统的模式加以管理.LVS是Linux Virtual Server的简写,翻译中文是Linux虚拟服务器,是一个虚拟的服务器集群系统. 负载均衡集群:是为了企业提供更为实用,性价比更高的系统机构解决方案.负载均衡集群把用户的请求尽可能的平均分发到集群的各

web负载均衡整理

参考:http://www.cnblogs.com/lovingprince/archive/2008/11/13/2166350.html http://www.cnblogs.com/lovingprince/archive/2008/11/13/2166349.html http://news.cnblogs.com/n/208124/ http://network.51cto.com/art/201108/281452.htm 负载均衡的概念 Web集群是由多个同时运行同一个web应用的

linux系统下对网站实施负载均衡+高可用集群需要考虑的几点

随着linux系统的成熟和广泛普及,linux运维技术越来越受到企业的关注和追捧.在一些中小企业,尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案. 那么如何实施linux集群架构,才能既有效保证网站健康运行,又能节省运维成本呢?下面依据近几年的运维经历,简单梳理下自己的一点感悟. (1)机房的选择如果有自己公司的机房那是再好不过的了:如果没有,建议放在BGP机房内托管,如果有选择的话,最好是选择带有硬件防火墙的机房,这样在安全方面也有保障:网站如若是放在

企业级web负载均衡完美架构

转载:揭秘企业级web负载均衡完美架构(图) 2010-07-06 15:16 抚琴煮酒 51CTO.com 字号:T | T 相信很多朋友对企业级的负载均衡高可用实例非常感兴趣,此篇文章根据成熟的线上环境而写,旨在帮助大家迅速架构一个企业级的负载均衡高可用的web环境. AD:WOT2014课程推荐:实战MSA:用开源软件搭建微服务系统 [51CTO.com独家特稿]相信很多朋友对企业级的负载均衡高可用实例非常感兴趣,此篇文章根据成熟的线上环境而写,旨在帮助大家迅速架构一个企业级的负载均衡高可

Web负载均衡的几种方式

Web负载均衡的几种实现方式 摘要:负载均衡(Load Balance)是集群技术(Cluster)的一种应用.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用是Web负载均衡.根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询.IP负载均衡和CDN.其中IP负载均衡可以使用硬件设备或软件方式来实现. 什么是web负载均衡服务器集群(Cluster)使得多个服务器节点能够协同工作,根据目的的不同,服务器集群可以分为: 高性能集群:将单个重负载的请

36套精品Java高级课,架构课,java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,第三方支付,web安全,高并发,高性能,高可用,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,大型分布式电商项目实战视频教程

新年伊始,学习要趁早,点滴记录,学习就是进步! QQ:1225462853 视频课程包含: 36套Java精品高级课架构课包含:java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,架构设计,web安全,高并发,高性能,高可用,高可扩展,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,工作流,程序调优,负载均衡,Solr集群与应用,主从复制,中间件,全文检索,Spring boot,Spring cloud,Dubbo,Elasticsearch,Redis,ActiveMQ