淘东电商项目(37) -SSO单点登录(高可用实现思路)

简介: 淘东电商项目(37) -SSO单点登录(高可用实现思路)

引言

本文代码已提交至Github(版本号:e7480721d7a3bb5d3573b8c4fdc9b19f2f8ea141),有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop

阅读本文时,建议先阅读前面博客:

前面把单点登录的实现大致讲解完了,本文是单点登录的最后一篇,主要讲解单点登录的高可用

本文目录结构:

l____引言

l____ 实现思路

l____总结

实现思路

目前「淘东电商」项目里的SSO服务是单个的,如果SSO服务出现了宕机或者崩溃,那么整个系统就登录不了了,所以这个问题是急需要解决的。那么如何实现SSO服务的高可用呢?

下面我直接贴出实现SSO服务高可用的原理图:

从上图可知,要实现SSO服务的高可用可以通过Nginx来实现。

  1. 首先客户端会请求Nginx,传入请求地址,如:http://taodong.ssoserver.com
  2. 这个时候Nginx会通过负载均衡机制去选择其中一台SSO Server,比如选中了SSO Server1,而此时SSO Server1刚好宕机了。
  3. Nginx发现故障后,进行故障转移,转移到别的SSO Server,如:SSO Server2。
  4. SSO Server2执行登录功能,更新数据库和Redis。
  5. 由于Redis和数据库是多台SSO Server共用的,所以不会造成共享失败的问题。

这就是SSO 服务实现高可用的方案(当然可能还有其它的方案,也欢迎其它的小伙伴留言)。

附带贴上Nginx的配置内容:

upstream  backServer{
 server 127.0.0.1:8078;
 server 127.0.0.1:8079;
}
server {
    listen       80;
    server_name  taodong.ssoserver.com;
    location / {
       proxy_pass http://backServer;
     ###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间
     proxy_connect_timeout 1s;
     ###nginx发送给上游服务器(真实访问的服务器)超时时间
       proxy_send_timeout 1s;
       ### nginx接受上游服务器(真实访问的服务器)超时时间
       proxy_read_timeout 1s;
       index  index.html index.htm;
    }      
}

总结

本文主要讲解SSO 单点登录系统通过Nginx来实现高可用的思路。

当然,如果SSO Server利用到了客户端的Session,如果要处理Session 共享的问题,可以使用Spring-Session,前面有讲解过了《淘东电商项目(30) -解决分布式Session共享问题》

目录
相关文章
|
2月前
|
存储 NoSQL 安全
阿里淘系单点登录中心实战
阿里淘系单点登录中心实战
41 0
|
2月前
|
XML 安全 Java
【分布式技术专题】「单点登录技术架构」一文带领你好好对接对应的Okta单点登录实现接口服务的实现落地
【分布式技术专题】「单点登录技术架构」一文带领你好好对接对应的Okta单点登录实现接口服务的实现落地
57 0
|
6月前
|
移动开发 NoSQL Redis
淘东电商项目(35) -SSO单点登录(登录功能完善)
淘东电商项目(35) -SSO单点登录(登录功能完善)
45 0
|
6月前
|
NoSQL Redis 微服务
微服务轮子项目(05) - 服务认证架构设计(token自动续签)
微服务轮子项目(05) - 服务认证架构设计(token自动续签)
38 0
|
6月前
|
NoSQL 数据可视化 Redis
淘东电商项目(31) -SSO单点登录(XXL-SSO案例)
淘东电商项目(31) -SSO单点登录(XXL-SSO案例)
60 0
|
6月前
|
前端开发
淘东电商项目(33) -SSO单点登录(改造SSO认证服务登录界面)
淘东电商项目(33) -SSO单点登录(改造SSO认证服务登录界面)
38 0
|
6月前
淘东电商项目(34) -SSO单点登录(Client端集成)
淘东电商项目(34) -SSO单点登录(Client端集成)
32 0
|
6月前
|
NoSQL 前端开发 数据库
淘东电商项目(36) -SSO单点登录(退出功能)
淘东电商项目(36) -SSO单点登录(退出功能)
30 0
|
6月前
|
SQL 安全 API
淘东电商项目(71) -互联网安全架构设计(网关验证AccessToken)
淘东电商项目(71) -互联网安全架构设计(网关验证AccessToken)
26 0
|
6月前
|
Java Maven
淘东电商项目(32) -SSO单点登录(集成SSO认证服务)
淘东电商项目(32) -SSO单点登录(集成SSO认证服务)
42 0