大规模网站sesson会话保持思路及实践配置

news/2024/5/16 23:05:47/文章来源:https://blog.csdn.net/weixin_30437847/article/details/97657377

1.需求:

请教个问题:
我用lvs的rr模式,(考虑过 ipvsadm -p,但是这样就失去了负载均衡的意义感觉),后端有10台web,用一台memcached专门用于存储session文件,但是现在问题是,客户端请求第一次被轮训到 web A服务器,A可以获取到本次回话的session ID,从而可以从memcached里通过sessionID获取到这次回话的session ID,而第二次请求轮训到B服务器,因为第一次请求没经过web B,他不知道session ID啊,所以他从memcached中获取不到session ID。这就是现在遇到的问题。做了基于cookie的sessionID,但是考虑到客户端会禁用cookie,所以又难办了。 有啥办法呢? 谁能帮忙解答下.

2.解决方案:

a.中小企业方案:

  把所有应用服务器sesson会话统一放到memcached里,web读取都读共享memcached,就保持一致了。php程序,php.ini里配,当然了,lvs -p,nginx ip_hash等等也是部分网友实现的思路。

  企业集群共享会话实现架构图如下:

  

  b.门户网站方案:

基于client cookie的sessionID是门户网站经常采用的,效率高,安全性一般,另外cookie的数量很有限,如果不够,可以通过多值cookie解决,例如淘宝就是这么干的。
企业集群clinet会话实现架构图如下:
3.大规模网站sesson会话共享思路及实践配置
可以直接用memcached来作PHP的session.save_handler解决sesson共享问题1. 安装memcached服务端软件
略,见老男孩培训相关视频教程或谷歌搜下安装。
注意:memcached用libevent来作事件驱动,所以要先安装libevent。2. 安装memcache客户端件
略,见老男孩培训相关视频教程或谷歌搜下安装。3. 真正配置的开始
修改配置文件,在php.ini中全局设置:web集群session共享存储设置:
默认php.ini中session的类型和配置路径:
#session.save_handler = files
#session.save_path = "/tmp"
修改成如下配置:
session.save_handler = memcache
session.save_path = "tcp://10.0.0.18:11211"
提示:
110.0.0.18:11211 为memcached数据库缓存的IP及端口。
2)上述适合LNMP,LAMP环境。
3)memcached服务器也可以是多台通过hash调度。4、用memcached来存储session特点:
优点:
1)读写速度上会比普通files时快很多。
2)可以解决多个服务器共用session的难题。
缺点:
1)session数据都保存在memory中,持久化方面有所欠缺,但对session数据来说不是问题。
2)单点,部署多台,也无法数据同步。通过hash算法分配依然有sesson丢失的问题。5、大规模企业解决思路:
2)可以用其他的持久化系统存储sessons,例如:redis,ttserver,替代memcached。
3)高性能高并发场景,cookies效率比session要好很多,因此,大网站都会用cookies解决会话共享问题。
4)有初级运维网友通过牺牲LB的负载均衡的策略实现,例如:lvs -p,nginx ip_hash等,这些不是好的方法。

 

转载于:https://www.cnblogs.com/vijayfly/p/5355034.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_777332.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现所有网站的qq登录返回登录后的cookie信息

开源地址:https://github.com/1015770492/autoLoginQQWithAnyWeb 注意:如果你下载了源码,想在自己的windows环境下测试,将源码中top.yumbo.music.test.configuration.ChromeAutoConfigration中 指定chromedriver路径的注释打开&a…

解决Fiddler Everywhere无法捕捉浏览器的请求问题,以及意外退出Fiddler Everywhere导致谷歌浏览器访问不了网站

今天又用到了Fiddler Everywhere又遇到了上次同样的问题,Fiddler Everywhere捕捉不到请求。 细想一下Fiddler Everywhere的作用,当我们打开它的时候本质上就是启动了一个代理服务器,也就是系统的所有http请求都经过Fiddler后台的服务器进行转…

监控网站服务质量出图学习后续篇

前面我们已经学习过了,如何收集网站服务质量的一些相关数据,然后通过入库出图,开始打算是用rrdtool做画图,但是经过一段时间的研究,发现echarts出图合理和美观,下面贴出我实时收集到的数据和出图展示部分: …

网页制作中点一张图片变成图片浏览式_做网站为什么要做响应式网站?

“响应式建站”又被称为HTML5建站、H5 响应式建站。响应式网站做为目前网站建设的主导方向,越来越多的网站建设者选择建设响应式网站。那么到底什么是响应式设计?什么是响应式建站?什么是响应式网站呢? 移动互联网发展迅速。随着智能手机的普及,互联网用户更喜欢…

selenium-java 实现QQ音乐自动登录获取cookie数据,爬取qq音乐会员资源和网易云音乐会员资源。实现任意网站的会员资源爬取

javaselenium-java 实现qq自动登录功能并获取cookie 下面是网易云音乐的qq自动功能演示,cookie信息在控制台中会打印出来。---->下一步就是利用这个cookie实现网站资源的爬取。 下面是qq音乐的自动登录 CSDN的自动登录 源代码如下 import org.openqa.selenium.*…

架构师---(大型网站分布式架构)

#参考资料大型分布式网站架构设计与实践 #感悟:书读百遍,其意自见 #QQ群北京it—推荐–交流:300458205 #群专注内推、大数据、云计算、Java、Android、UI等技术交流,欢迎你的加入。 看的越多,发现会的越少&#xff…

架构师---(大型网站技术架构核心原理与案例分析)1大型网站架构演化

#参考资料大型网站技术架构核心原理与案例分析(作者李智慧) #1初始阶段的网站架构 小型网站起初访问量不是很高,只需要一台服务器就可以了。通常我们的部署将应用程序、数据库、文件等所有的资源都在一台服务器上。通常服务器操作系统为linux…

从码农到架构师---设计大型网站架构模式和核心要素

参考资料大型网站技术架构核心原理与案例分析(作者李智慧) 参考资料架构修炼之道(作者王新栋) 网关 1-API网关的基本功能与七种措施 2-如何设计一个API: 常用工具(设计API和生成API文档) RAML和Swagger RAML的五个过程 Design->Build->Test->…

java spring boot + Selenium 爬取网站简单使用

chromedriver 下载 首先下载chromedriver 这个驱动 注意: 看一下Chrome 浏览器版本 选择合适对应的chromedriver 版本 pom引入 <!-- selenium-java --><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</ar…

网站 nginx http 升级 https

首先下载 nginx wget -c https://nginx.org/download/nginx-1.10.1.tar.gz然后解压 tar -zxvf nginx-1.10.1.tar.gz注意这里 如果你以前有nginx 在启动目录里使用 ./nginx -V 看看是否有 with-http_ssl_module 这个模块 如果没有请按照http升级https(转)这篇文章升级(本人也是参…

高并发高流量网站架构

Web2.0的兴起&#xff0c;掀起了互联网新一轮的网络创业大潮。以用户为导向的新网站建设概念&#xff0c;细分了网站功能和用户群&#xff0c;不仅成功的造就了一大批新生的网站&#xff0c;也极大的方便了上网的人们。但Web2.0以用户为导向的理念&#xff0c;使得新生的网站有…

db2怎么限定查询条数_SEO优化怎么样呢?如何做seo?

SEO优化怎么样呢&#xff1f;如何做seo&#xff1f;网站上线后不是给自己看的&#xff0c;更多的情况下是给用户看的。seo优化的作用在于提升网站关键词自然排名&#xff0c;便于用户搜索&#xff0c;便于提高用户通过相关关键词看到网站的概率。通常所说的搜索引擎优化&#x…

WEB网站压力测试方案 压力测试如何换算并发用户数

http://wenku.baidu.com/view/bedf1a93daef5ef7ba0d3c29.html 压力测试通过确定一个系统的瓶颈或者不能接收的性能点&#xff0c;来获得系统能提供的最大的服务级别的测试。通俗地讲&#xff0c;压力测试是为了发现在什么条件下您的应用程序的性能会变得不可接受。 极限压力测…

正在尝试其它镜像_网站被镜像了该如何解决?

相信很多站长遇到最头疼的事就是网站被镜像了吧&#xff0c;自己辛苦做出来的网站一下就被别人镜像了&#xff0c;心里一定不好受。网站镜像是什么意思呢&#xff1f;就是当你搜索你的网站&#xff0c;你会发现突然多出了很多和你的网站一模一样的网站&#xff0c;它们除了域名…

php 网站的拼接方法,第五天 ThinkPHP手把手快速拼接网站(五)

6月11日&#xff0c;晴天。“梅子留酸软齿牙&#xff0c;芭蕉分绿与窗纱。日长睡起无情思&#xff0c;闲看儿童捉柳花。”十、后台编写-续-21、改写Login模块的login方法 &#xff0c;主要是改M方法为D方法class LoginAction extends Action {function index() {// 配置页面显…

项目符号css样式,制作现代网站和应用程序时CSS项目符号样式

在本文中&#xff0c;我们将讨论无序列表&#xff0c;在制作现代网站和应用程序时&#xff0c;无序列表的发展是不可避免的。你是否做了很多很多名单的粉丝&#xff1f;我也不是。但是&#xff0c;这里我们不是在谈论家务或购物清单。我们正在讨论制作现代网站和应用程序时不可…

使用Apache的Proxy模块实现对被代理网站的访问

为已编译的apache2添加mod_proxy模块 和应用 http://help.lampok.net/log/?p1525这篇文章试过可以&#xff0c;在apache2.2.23版本的时候。blog.51yip.com/apachenginx/873.htmlhttp://shiningray.cn/proxypass-directive-in-apache.html查看apache支持的模块&#xff1a; htt…

asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)

自从腾讯微博上线以来&#xff0c;基本上就开始用了&#xff0c;一直到现在&#xff0c;作为一个开发人员&#xff0c;也看到了腾讯微博一直在不停的改变&#xff0c;也不知道大家有没有发现&#xff0c;腾讯微博提供两种加载数据的方式&#xff0c;一种是分页&#xff0c;一种…

Java小应用目录快速变网站

1. 简介 快速将一个目录变成静态站点的Java小应用 2. 程序下载 https://github.com/broncho/oss/raw/master/blog/directory-website-1.0.0.jar 3. 依赖环境 JRE 1.6 4. 使用说明 5. 运行

电商实例、业务并发、网站并发及解决办法

电商实例、业务并发、网站并发及解决方法 一、怎么防止多用户同一时间抢购同一商品&#xff0c;防止高并发同时下单同一商品 最近在做抢购系统&#xff0c;但头疼的是&#xff0c;在多用户高并发的情况下经常会库存出现问题。排查到&#xff0c;在同一时间内多用户同时下单导致…