1.IP_HASH

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session 的问题。

    upstream bakend {ip_hash;server 192.168.0.14:88;server 192.168.0.15:80;}

简单会话保持存在的问题就在于当多个客户是通过代理或地址转换的方式来访问服务器时,由于都分配到同一台服务器上,会导致服务器之间的负载严重失衡。另外一种情况上客户机数量很少,但每个客户机都会产生多个并发访问,对这些必发访问也要求通过负载均衡器分配到多个服器上,这时基于客户端源地址的会话保持方法也会导致负载均衡失效。这个时候,就必须要考虑使用其他的会话保持方式,比如session等。

如果使用硬件作为负载均衡设备,如果遇到一些特殊的情况,需要进行个性化定制,其实是非常有难度和挑战的,再更加多的时间,其实这是根本走不通的,如果使用软件,比如Nginx或者Apache,我们可以对它进行一定程度上的订制,尽可能多的满足业务要求。

2.存储SESSION

2.1基于Redis Memcached 存储Session 

利用Memcached来保存Session数据,直接通过内存的方式,效率自然能够提高不少。 在读写速度上会比 files 时快很多,而且在多个服务器需要共用 session 时会比较方便,将这些服务器都配置成使用同一组 memcached 服务器就可以,减少了额外的工作量。缺点: session 数据都保存在 memory 中,一旦宕机,数据将会丢失。但对 session 数据来说并不是严重的问题。如果网站访问量太大,session太多的时候,memcached会将不常用的部分删除,但是如果用户隔离了一段时间之后继续使用,已经全部乱套了。

2.2使用数据库存放session

Session信息存储到数据库表,这样实现不同应用服务器间Session信息的共享。

适合数据库访问量不大的网站

优点:实现简单

缺点:由于数据库服务器相对于应用服务器更难扩展且资源更为宝贵,在高并发的Web应用中,最大的性能瓶颈通常在于数据库服务器。因此如果将 Session存储到数据库表,频繁的数据库操作会影响业务。

2.3使用文件系统存放session

通过文件系统(比如NFS方式)来实现各台服务器间的Session共享,各台服务器只需要mount共享服务器的存储Session的磁盘即可,实现较为简单。但NFS 对高并发读写的性能并不高,在硬盘I/O性能和网络带宽上存在较大瓶颈,尤其是对于Session这样的小文件的频繁读写操作。 适合并发量不大的网站.

3.COOKIE识别

3.1基于浏览器Cookie的Session共享:用户识别使用加密的cookie

此种方案把用户相关的Session信息存储到浏览器的Cookie中,也称为客户端Session。 
采用Flash Cookie、URL重写的方式传递Session信息的方案也可以归为此类。 
缺点:只能够存储字符串、数值等基本类型的数据;Cookie大小存在限制;安全性;带宽及数据解压缩、网络传输性能问题。

Linux负载均衡粘滞会话:IP_HASH Session(nosql mysql 文件共享系统 ) Cookie客户端加密识别用户相关推荐

  1. linux负载均衡(什么是负载均衡)

    linux负载均衡(什么是负载均衡) 一.总结 一句话总结: 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...

  2. Linux中的粘滞位

    Linux中的粘滞位 Sticky 位是一个访问权限标志位,可以用来标示文件和路径. 历史: 粘滞位是在1974年Unix的第5版中引入的,用来设置可执行文件.当可执行文件设置粘滞位之后,它能够指示操 ...

  3. Linux负载均衡软件LVS

    Linux负载均衡软件LVS之三(配置篇) LVS集群有DR.TUN.NAT三种配置模式,可以对www服务.FTP服务.MAIL服务等做负载均衡,下面通过搭建www服务的负载均衡实例,讲述基于DR模式 ...

  4. Linux负载均衡软件LVS(概念篇)

    Linux负载均衡软件lvs(概念篇) 一.LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,它的官方站点是(www ...

  5. 【Linux】权限-粘滞位

    目录 1.权限概念 2.修改权限 指令:chmod 修改文件的访问权限 指令:chown 修改文件的拥有者 指令:chgrp 修改文件所属组 3.umask文件掩码 4.目录权限 粘滞 1.权限概念 ...

  6. Linux 负载均衡介绍之LB介绍

    Linux 负载均衡介绍之LB 负载均衡 (Load Balance)让负载均衡,当然这是一个简单的概括,比如,我有10台机器都提供web服务,那么我如何均衡的利用这10台机器呢,让这10台机器保证高 ...

  7. 【Linux负载均衡】

    Linux负载均衡 核心结构体 核心函数 load_balance fair.c 核心数据结构 调用核心函数1 should_we_balance() 核心数据结构 核心辅助函数 核心函数 核心调用函 ...

  8. Linux负载均衡Nginx六种策略

    一.了解Nginx的负载均衡 在集群中,Nginx起到一个代理服务器的角色(即反向代理),为避免单独一服务器压力大,将用户的请求转发给不同的服务器. 反向代理:nginx认为是服务端的 正向代理:ng ...

  9. Linux负载均衡--LVS(IPVS)

    一.LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,现在已经是 Linux标准内核的一部分.LVS是一种叫基于T ...

最新文章

  1. 参加LinuxCon Japan 2012
  2. SAP MM 带有Return标记的STO,不能创建内向交货单?
  3. ELMo:基于上下文的语言模型,5分钟构建语义搜索引擎代码实战
  4. Zookeeper理解---ZAB协议
  5. 细数阿里云服务器的十二种典型应用场景
  6. Python_画boxplot 盒图/箱线图
  7. 八、关于FFmpeg需要絮叨的一些事
  8. 只有一个公网IP也可以使用LVS的DR模式!(外带php session粘滞问题解决)
  9. html+css基础教程入门学习之CSS表格
  10. 减肥产品引流推广什么渠道好?怎么推广自己的减肥产品?
  11. Nvme pcie有线千兆网卡
  12. 小白学习,歌词解析(半成品)
  13. Python 使用pyinstaller打包exe文件报错: TypeError: an integer is required (got type bytes) 的解决方法
  14. Cathy推荐Java面试题
  15. 什么是响应式布局设计?
  16. 航模DIY【1】-遥控器硬件设计
  17. 学生成绩查询系统(Java实现),你第一个Java小项目
  18. Wscript.shell对象参考手册
  19. Proteus深入研究(三.1): VSM SDK翻译 (9/289)
  20. Bash脚本基础:环境变量定义与使用

热门文章

  1. 11_CollapsingMergeTree,(State行和Cancel行匹配示例),聚合查询,Cancel状态行取反的聚合查询
  2. Phoenix二级索引(Secondary Indexing)的使用(转:https://www.cnblogs.com/MOBIN/p/5467284.html)
  3. Maven+SpringMVC+Dubbo+zookeeper 简单的入门demo配置
  4. 学习笔记:Zookeeper选举机制
  5. oracle 数据库运行模式
  6. Python基础概念_2_基础概念
  7. linux静态分配设备号,Linux驱动开发之静态申请设备号
  8. 深入浅出设计模式原则之开闭原则(OCP)
  9. Faster RCNN算法详解
  10. 错误fatal error: curl/curl.h: No such file or directory解决方案