已经2018年了.. 3年前刚出校门那一刻就给了自己一个问题 " 3年后我会成什么样 .... ", 很失望,不过继续努力,
定好目标, 走下去,文章写的不多,自己更多的是写笔记,将就看吧
2016年末,开始接触分布式, 那会坐在办公司听着老大们热热闹闹的讨论架构升级为分布式, 心想 “ 牛,大佬 ”..
17年中旬分布式上线,( 说实话 " 还是挺激动的,毕竟项目不小,各个支点都挺大") ,那会支点都没有认证中心,
讲白了其他支点不需要用户信息... 17年10月份中旬, 新增其他业务支点,需要用户信息认证,这时候nginx的跨域
路由就不行了,IP_HASH达不到预想分布式的结果,第一版直接改造Security,将持久化本地的方式改造成Jedis形式,
经测试可行,但是要做到共享还是得改造Session传递这块,这时候再想到SpringSession,但最终也解决不了多
服务器Session共享问题,网上的解决方案也有..比如自定义Token认证,主系统登录后socket连接强制性的将负载
的机器内存中塞上当前用户登录的Session(这个最早pass),考虑过Token, 根据其思想改造了一版根据
SpringSession在保存信息后,用户的其他请求URL默认会带一个加密参数(sessionid), 再解析SpringSession
源码,拿到它获取Session的方式效果达到了, (这边提一下:jdk、json的两种序列化方式) 唯一的缺陷个人感觉
改动稍大,但觉得可行,(如果没有用到SpringCloud的情况),在成功后的第二天,想到了SpirngCloud五大神兽
Zuul网关..
SpringCloud Zuul 重定向 、 转发、包括过滤请求,认证都能做到 , 这时候有人想到Nginx,A10了,随便说一
个它们没有的亮点 “ 服务发现 ”,不得不说挺强大,Zuul可以负载Eureka,可以ListOfServer:url1,url2,url3,
当时第一阶段搭建成功测试时,这里大致说一下思路模型 :
A10->Zuul(GetWay) -> (Eureka) mainLogin -> (Eureka)server1, (Eureka)server2,
发现跨多个服务时出现Session异常,同域下面完全没问题,有大牛遇到这
块问题可以联系下,请教一下.. 多方测试无果,最终将GetWay植入MainLogin项目中,
A10 ->(Eurkea) MainLogin(GetWay) SpringSession... ->(Eureka)server1, (Eureka)server2,
效果达成
总结:思路清晰,你想做的都可以实现