这样两种方式都有了,那么我们怎实现两种session共享方式的快速切换呢,刚刚我提到一个sessionType,这是用来决定获取到session的类型的,只要变换sessionType就能实现两种session共享方式的切换,但是sessionType必须对所有的服务器都是一致的,如果不一致那将会出现比较严重的问题,我们目前是将sessionType维护在环境变量里,如果要切换sessionType就要重启每一台服务器,完成session共享的转换,但是当服务器太多的时候将是一种灾难 。而且重启服务意味着服务的中断,所以这样的方式只适合服务器规模比较小,而且用户量比较少的情况,当服务器太多的时候,务必需要一种协调技术,能够让服务器能够及时获取切换的通知 。基于这样的原因,我们选用zookeeper作为配置平台,每一台服务器都会订阅zookeeper上的配置,当我们切换sessionType之后,所有服务器都会订阅到修改之后的配置,那么切换就会立即生效,当然可能会有短暂的时间延迟,但这是可以接受的 。
方案大体分享完了,在此将我的收获记录下来,我们已经实现了一个版本,大家也可以发挥想象,分享不同的方案,我们一起进步,文中有不足之处,还望各位不吝赐教 。
本文转载于博客园,作者:左侧码工
原文:https://www.cnblogs.com/zuolun2017/p/8516764.html
推荐阅读
- 重学之JavaScript HTML Element 常用API解析
- Java 编写基于 Netty 的 RPC 框架
- 手机系统更新“更”的是什么?原来有这么多讲究
- 抖音云控系统是什么
- 华为mate30升级鸿蒙系统
- 前端:html+css+javascript 手把手教大家编写贪吃蛇小游戏
- 架构选型之Nodejs与Java
- 分布式系统中的 CAP 定理
- 如何简单理解 JavaScript 的 Async 和 Await?
- Linux系统CPU负载和CPU使用率