分布式系统认证方案

作者: Doooook | 来源:发表于2020-12-15 21:51 被阅读0次

分布式系统

随着软件环境和需求的变化,软件的架构由单体结构演变为分布式架构,具有分布式架构的系统叫做分布式系统,分布式系统的运行通畅依赖网络,它将单体结构系统拆分为若干服务,服务之前通过网络交互来完成用户的业务处理,当前流行的微服务架构就是分布式架构,如下图:

分布式系统

分布式认证需求

分布式系统的每个服务都会有认证、权限的需求,如果每个服务都实现一套认证授权逻辑会非常冗余,考虑分布式系统共享性的特点,需要由独立的认证服务处理系统认证授权的请求;考虑分布式系统开放性的特点,不仅对系统内部提供认证,对第三方系统也要提供认证,分布式认证的需求总结如下:

统一认证授权
提供独立的认证服务,统一处理认证授权。
无论是不同类型的用户,还是不同种类的客户端(web、H5、APP),均采用一致的认证、权限、会话机制,实现统一认证授权。
要实现统一,则认证方式必须可扩展,支持各种认证需求,比如:用户名密码认证、短信认证、二维码、人脸识别等认证方式,并可以非常灵活的切换。

应用接入认证
应提供扩展和开放能力,提供安全的系统对接机制,并可开放部分API给接入第三方使用,一方应用(内部系统服务)和第三方(第三方应用)均采用统一机制接入。

分布式认证方案

1. 选型分析

1、基于session的认证方式
在分布式环境下,基于session的认证会出现一个问题,每个应用服务都需要在session中存储用户身份信息,通过负载均衡本地的请求分配到另一个应用服务器需要将session信息带过去,否则会重新认证。

基于session的认证方式

通常的做法有以下几种:
Session复制:多台应用服务器之间同步session,使session保持一致,对外透明。
Session黏贴:当用户访问集群中某台服务器后,强制指定后续所有请求均落到此机器上。
Session集中存储:将Session存入分布式缓存中,所有服务器应用实例统一从分布式缓存中存取Session。

2、基于token的认证方式
基于token的认证方式,服务器不用存储认证数据,已维护扩展性强,客户端可以吧token存在任意地方,并且可以实现web和App统一认证机制。其缺点也很明显,token由于自身包含信息,因此一般数据量较大,而且每次请求都需要传递,因此比较占带宽。另外,token的签名验签操作也会给CPU带来额外的处理负担。

基于token的认证方式

2. 技术方案

根据选型的分析,决定采用基于token的认证方式,它的优点是:
1、适合统一认证的机制,客户端、一方应用、三方应用都遵循一致的认证机制。
2、token认证方式对第三方应用接入更适合,因为你它更开放,可以使用当前最流行的Oauth2.0、JWT等。
3、一般情况服务器端无需存储会话信息,减轻了服务端的压力。

分布式系统认证技术方案如下图:

分布式系统认证技术方案

相关文章

  • 23.分布式系统认证方案-什么是分布式系统

    分布式系统认证方案 什么是分布式系统 随着软件环境和需求的变化,软件的架构由单体结构演变为分布式架构,具有分布式架...

  • 分布式系统认证方案

    分布式系统 随着软件环境和需求的变化,软件的架构由单体结构演变为分布式架构,具有分布式架构的系统叫做分布式系统,分...

  • 分布式系统认证方案

    随笔笔记1 1.1 什么是分布式系统 随着软件环境和需求的变化 ,软件的架构由单体结构演变为分布式架构,具有分布式...

  • 25.分布式系统认证方案-分布式认证方案

    分布式认证方案 选型分析 1.基于session的认证方式 在分布式的环境下,基于session的认证出现一个问题...

  • 24.分布式系统认证方案-分布式认证需求

    分布式认证需求 分布式系统的每个服务都会有认证,授权的需求,如果每个服务都实现一套认证授权逻辑会非常冗余,考虑分布...

  • 庖丁解eureka

    分布式系统解决方案之SpringCloud之注册中心——eureka 分布式系统解决方案中少不了注册中心这个组件,...

  • 性能提升文章集

    分布式系统雪崩效应处理方案

  • IM - 核心功能之分布式部署方案

    1. 概述 本文继续介绍IM系统分布式部署方案。 2. IM分布式部署方案 RabbitMQ支持跨地区分布式集群部...

  • 一致性 Hash 算法

    分布式--特定场景解决方案 分布式:把一个系统拆分为多个子系统,每个子系统负责各自功能实现,独立部署,各司其职。体...

  • 3.架构篇 - Tracing - 鹰眼系统

    参考: #研发解决方案介绍#Tracing(鹰眼) Dapper,大规模分布式系统的跟踪系统 by bigbull...

网友评论

    本文标题:分布式系统认证方案

    本文链接:https://www.haomeiwen.com/subject/gyubgktx.html