【分布式技术专题】「架构实践于案例分析」盘点分布式服务的(无状态\有状态)认证实现方案

简介: 【分布式技术专题】「架构实践于案例分析」盘点分布式服务的(无状态\有状态)认证实现方案

⽆状态 vs 有状态


有状态、⽆状态是什么


  • 有状态:服务器端需要保存请求的相关信息,每个请求可以默认地使⽤以前的请求信息


  • ⽆状态:服务器端不记录请求的相关信息,服务器处理的内容完全来⾃请求所携带的信息,以及其他服务器端⾃身所保存的、并且可以被所有请求所使⽤的公共信息

image.png




有状态


使⽤粘性会话,即:对相同IP的请求,NGINX总会转发到相同的Tomcat实例,这样就就⽆需图中的Session Store了。不过这种⽅式有很多缺点:⽐如⽤户断⽹重连,刷新⻚⾯,由于IP变了,NGINX会转发到其他Tomcat实例,⽽其他实例没有Session,于是就认为⽤户未登录。这让⽤户莫名其妙,⽤得越来越少了。

image.png



⽆状态


  • 解密Token即可拿到⽤户信息;事实上要看你项⽬的具体实现;有时候Token⾥不⼀定带有⽤户信息;⽽是利⽤Token某个地⽅查询,才能获得⽤户信息
  • 客户端传过来的也不⼀定是Token,⽽是⼀个Cookie

image.png



有状态 vs ⽆状态

image.png


外部⽆状态,内部有状态”⽅案


外部依然针对于Token进行传递到API网关服务,之后进行相关的微服务执行处理,并且后端采用的是将统一化的Session Store的存储介质,之后,可以实现即使是无状态化的服务架构,这个目前使用的较多。

image.png


外部⽆状态,内部有状态”⽅案(新老服务兼容)


通过将请求头,可以实现将有状态和无状态的服务均一视同仁,采用head的头进行分析和转发处理新服务和老服务。

image.png

⽹关认证授权,内部裸奔”⽅案

image.png



⽅案对⽐与选择

image.png




授权


访问控制模型


  • Access Control List (ACL)
  • Role-based access control (RBAC)
  • Attribute-based access control (ABAC)
  • Rule-based access control
  • Time-based access control



RBAC


用户模型、角色模型、权限模型

image.png


JWT

JWT全称Json web token,是⼀个开放标准(RFC 7519),⽤来在各⽅之间安全地传输信息。JWT可被 验证和信任,因为它是数字签名的

JWT由三部分组成:第⼀部分是Header,第⼆部分是Payload,第三部分是Signature

image.png

  • Token = Base64(Header).Base64(Payload).Base64(Signature)
  • Signature = Header指定的签名算法(Base64(header).Base64(payload), 秘钥)




相关文章
|
27天前
|
Cloud Native Java API
聊聊从单体到微服务架构服务演化过程
本文介绍了从单体应用到微服务再到云原生架构的演进过程。单体应用虽易于搭建和部署,但难以局部更新;面向服务架构(SOA)通过模块化和服务总线提升了组件复用性和分布式部署能力;微服务则进一步实现了服务的独立开发与部署,提高了灵活性;云原生架构则利用容器化、微服务和自动化工具,实现了应用在动态环境中的弹性扩展与高效管理。这一演进体现了软件架构向着更灵活、更高效的方向发展。
|
2月前
|
存储 Linux KVM
Proxmox VE (PVE) 主要架构和重要服务介绍
Proxmox VE (PVE) 是一款开源的虚拟化平台,它基于 KVM (Kernel-based Virtual Machine) 和 LXC (Linux Containers) 技术,支持虚拟机和容器的运行。PVE 还提供高可用集群管理、软件定义存储、备份和恢复以及网络管理等企业级功能。
752 7
|
7天前
|
运维 供应链 安全
SD-WAN分布式组网:构建高效、灵活的企业网络架构
本文介绍了SD-WAN(软件定义广域网)在企业分布式组网中的应用,强调其智能化流量管理、简化的网络部署、弹性扩展能力和增强的安全性等核心优势,以及在跨国企业、多云环境、零售连锁和制造业中的典型应用场景。通过合理设计网络架构、选择合适的网络连接类型、优化应用流量优先级和定期评估网络性能等最佳实践,SD-WAN助力企业实现高效、稳定的业务连接,加速数字化转型。
SD-WAN分布式组网:构建高效、灵活的企业网络架构
|
5天前
|
程序员
后端|一个分布式锁「失效」的案例分析
小猿最近很苦恼:明明加了分布式锁,为什么并发还是会出问题呢?
15 2
|
10天前
|
存储 缓存 NoSQL
分布式架构下 Session 共享的方案
【10月更文挑战第15天】在实际应用中,需要根据具体的业务需求、系统架构和性能要求等因素,选择合适的 Session 共享方案。同时,还需要不断地进行优化和调整,以确保系统的稳定性和可靠性。
|
11天前
|
消息中间件 Kafka 数据库
微服务架构中,如何确保服务之间的数据一致性?
微服务架构中,如何确保服务之间的数据一致性?
|
11天前
|
消息中间件 关系型数据库 Java
‘分布式事务‘ 圣经:从入门到精通,架构师尼恩最新、最全详解 (50+图文4万字全面总结 )
本文 是 基于尼恩之前写的一篇 分布式事务的文章 升级而来 , 尼恩之前写的 分布式事务的文章, 在全网阅读量 100万次以上 , 被很多培训机构 作为 顶级教程。 此文修改了 老版本的 一个大bug , 大家不要再看老版本啦。
|
16天前
|
存储 安全 API
单元化架构,分布式系统的新王!
【10月更文挑战第9天】
76 0
单元化架构,分布式系统的新王!
|
22天前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
40 3
|
23天前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
38 0

热门文章

最新文章