网站负载均衡解决方案
发布时间 - 2019-04-13 00:00:00 点击率:次web负载均衡(load balancing),简单地说就是给我们的服务器集群分配“工作任务”,而采用恰当的分配方式,对于保护处于后端的web服务器来说,非
常重要。
反向代理负载均衡
反向代理服务的核心工作主要是转发HTTP请求,扮演了浏览器端和后台Web服务器中转的角色。因为它工作在HTTP层(应用层),也就是网络七层结构中的第七层,因此也被称为“七层负载均衡”。可以做反向代理的软件很多,比较常见的一种是Nginx。
Nginx是一种非常灵活的反向代理软件,可以自由定制化转发策略,分配服务器流量的权重等。反向代理中,常见的一个问题,就是Web服务器存储的session数据,因为一般负载均衡的策略都是随机分配请求的。同一个登录用户的请求,无法保证一定分配到相同的Web机器上,会导致无法找到session的问题。
解决方案主要有两种:
配置反向代理的转发规则,让同一个用户的请求一定落到同一台机器上(通过分析cookie),复杂的转发规则将会消耗更多的CPU,也增加了代理服务器的负担。
将session这类的信息,专门用某个独立服务来存储,例如redis/memchache,这个方案是比较推荐的。
反向代理服务,也是可以开启缓存的,如果开启了,会增加反向代理的负担,需要谨慎使用。这种负载均衡策略实现和部署非常简单,而且性能表现也比较好。但是,它有“单点故障”的问题,如果挂了,会带来很多的麻烦。而且,到了后期Web服务器继续增加,它本身可能成为系统的瓶颈。
配置文件样本:
#user nobody; worker_processes 1; #pid logs/nginx.pid; events {
worker_connections 1024; } http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream www.hcoder.net {
server 192.168.1.188:80 weight=5;
server 192.168.1.158:80;
}
server {
listen 80;
server_name www.hcoder.net;
location / {
proxy_pass http://www.hcoder.net;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
} }
# nginx
# Cookie
# Session
# redis
# http
# 负载均衡
# 七层
# 单点
# 都是
# 代理服务
# 是一种
# 地说
# 将会
# 给我们
# 一台
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
装修招标网站设计制作流程,装修招标流程?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
Swift中循环语句中的转移语句 break 和 continue
用v-html解决Vue.js渲染中html标签不被解析的问题
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
Laravel怎么使用Intervention Image库处理图片上传和缩放
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Android中AutoCompleteTextView自动提示
浅谈javascript alert和confirm的美化
浅谈redis在项目中的应用
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
JavaScript如何实现音频处理_Web Audio API如何工作?
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
如何用PHP快速搭建高效网站?分步指南
js代码实现下拉菜单【推荐】
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
canvas 画布在主流浏览器中的尺寸限制详细介绍
如何续费美橙建站之星域名及服务?
Laravel如何实现用户注册和登录?(Auth脚手架指南)
Laravel安装步骤详细教程_Laravel环境搭建指南
b2c电商网站制作流程,b2c水平综合的电商平台?
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
Laravel如何使用Eloquent进行子查询
如何在阿里云购买域名并搭建网站?
JS实现鼠标移上去显示图片或微信二维码
Laravel如何使用.env文件管理环境变量?(最佳实践)
如何在腾讯云服务器快速搭建个人网站?
javascript如何操作浏览器历史记录_怎样实现无刷新导航
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何在Tomcat中配置并部署网站项目?
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
微信公众帐号开发教程之图文消息全攻略
iOS正则表达式验证手机号、邮箱、身份证号等
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何自定义建站之星网站的导航菜单样式?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
下一篇:胜悦优亿维修系统反月结方法
下一篇:胜悦优亿维修系统反月结方法

