[发明专利]一种基于微服务架构的分布式会话处理系统及方法有效
申请号: | 202110647758.4 | 申请日: | 2021-06-10 |
公开(公告)号: | CN113259475B | 公开(公告)日: | 2021-11-05 |
发明(设计)人: | 王知明;李杰 | 申请(专利权)人: | 大汉软件股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 徐航天 |
地址: | 210042 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 微服 架构 分布式 会话 处理 系统 方法 | ||
本发明公开了一种基于微服务架构的分布式会话处理系统及方法。基于微服务架构的分布式会话处理方法,用户通过统一用户服务来登录,统一用户服务存储管理登录用户信息;统一用户服务生成访问令牌;统一用户服务将登录用户信息按照属性存储到内存缓存中;当用户使用业务微服务,业务微服务带着访问令牌到统一用户服务验证当前用户是否登录;验证通过后,业务微服务按照属性读取统一用户服务的内存缓存,将登录用户信息同步到业务的session中;登录用户在业务微服务中对session的操作都只修改业务微服务的内存缓存;同一业务微服务分布式部署,共享业务微服务的内存缓存的改变。
技术领域
本发明属于应用架构技术领域,特别是关于一种基于微服务架构的分布式会话处理系统及方法。
背景技术
应用架构技术从单体应用到微服务技术架构经历了至少4代的发展,目前微服务技术架构已经是JAVA软件开发的主流架构。微服务架构下将原来的应用拆分成多个单一功能的应用,比如原来的系统具有本身的业务功能10个,还带有用户登录、管理等,在微服务下本身的10个业务功能理论上将会拆分成10个独立的微服务应用,自带的用户登录、管理也会被独立成一个微服务应用。如果原来有多个单体应用,那么每个单体应用会分别拆分成多个独立微服务应用。
如图1所示,原来单体应用时,用户操作业务功能首先要登录,登录后由中间件提供session功能供应用保持session状态,之后所有的业务功能在操作前都会验证session是否有效。微服务下由于用户管理被独立成了一个应用,如果用session来保持登录状态,也只有用户管理有这个应用有登录状态,而被拆分出去的其他微服务应用无法获得此状态,微服务提供了一个session共享方案,通过统一的缓存来存储登录的session信息,被拆出的微服务应用也同样连接缓存读取session。这种方式对于一个应用拆分的多个微服务应用问题不大,但多个应用拆分出来的就会出现问题。由于是session共享,所以一个应用对session做了修改,会影响其他应用的读取。并且随着应用越来越多统一缓存的压力就非常大成为瓶颈。
发明内容
针对上述技术问题,本发明第一个目的是提供一种以统一用户服务为中心的供微服务应用间可以共享session状态的系统及方法。
本发明的第一个目的的技术方案是:一种基于微服务架构的分布式会话处理系统,包括统一用户服务模块,业务微服务应用;
统一用户服务模块包括缓存服务装置,缓存服务装置的内存缓存中存储登录用户信息;
业务微服务包括内存缓存,业务微服务在读取统一用户服务的内存缓存后将用户信息同步到业务微服务的内存缓存中;同一业务微服务分布式部署,共享业务微服务的内存缓存的改变。
进一步的,缓存服务装置的内存缓存中,登录用户信息按照属性以hash的数据结构存储;缓存服务装置的内存缓存、业务微服务的内存缓存中还存储访问令牌。
本发明还公开了一种基于微服务架构的分布式会话处理方法,用户通过统一用户服务来登录,统一用户服务存储管理登录用户信息,负责登录状态验证;
统一用户服务生成访问令牌,所有业务微服务的当前登录用户的访问令牌均与统一用户服务一致;统一用户服务将登录用户信息按照属性存储到内存缓存中,这里使用缓存技术而不是数据库,是本发明的一个重要环节。
当用户使用业务微服务,业务微服务带着访问令牌到统一用户服务验证当前用户是否登录;验证通过后,业务微服务读取统一用户服务的内存缓存,将登录用户信息同步到业务微服务的内存缓存中,业务微服务按照属性读取统一用户服务的内存缓存中的用户信息,而不是将整个用户信息读取下来再自行筛选。本发明通过访问令牌的验证,在session实现共享的基础上,还能够实现session的个性化,防止多应用之间session共享后互相篡改。
登录用户在业务微服务中对session的操作都只修改业务微服务的内存缓存;同一业务微服务分布式部署,共享业务微服务的内存缓存的改变。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大汉软件股份有限公司,未经大汉软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110647758.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种火电管道用超声检测装置
- 下一篇:一种卧式摇篮铣车五轴加工中心