Spring Cloud OAuth2 微服务认证与授权

本文棣属于 Spring API 服务开发系列。

在微服务架构里由于应用被拆分成为了多个服务,因此需要实现单点登录。简单场景可以使用分布式会话(Session)方案,实现方式有粘滞(Sticky)会话、会话复制(Replication)和集中式(Centralized)会话存储,这几种方式都各有缺点。粘滞会话要求负载均衡器能够将同一用户的所有请求发送到固定的处理节点,当因某种原因需要切换处理节点时,之前的会话数据将丢失。会话复制要求每个处理节点保存所有会话数据,当某个节点新建会话时,需要同步给所有其它节点,这会造成网络带宽和存储空间的浪费。集中式会话将会话数据存储到 Redis 这样的外部存储中,所有微服务共享一份数据,避免了前面两种方式的缺点,但存储服务容易成为性能瓶颈。这几种方式都不支持第三方应用认证和授权。


这是一个已从原 https://blog.jaggerwang.net/p/4fdf6eda-b25a-49a5-8d9b-03d179db34d1/ 中分离的主题