1、目的
搭建多租户、多层级组织机构的统一用户中心,应用于子系统集成(例如企业门户集成各子系统),为其提供统一用户认证服务。
本系列文章主要以用户中心应用为载体,归纳SpringBoot、Dubbo、注册中心(Zookeeper、Nocas等)、Maven私服及SDK打包、Docker等相关的知识及实践经验。
统一用户中心提供两种调用方式以供各服务使用,SDK以及API,其中SDK主要面向各服务应用(接口鉴权、数据鉴权等),API主要提供给集成应用使用(例如门户登录,用户管理等)。
2、环境准备
统一用户中心涉及多个支撑组件,比如Mysql、Redis、Zookeeper等,具体组件及在本系统中的作用如下:
1)Mysql:提供结构化数据的存储及管理,主要包含如用户数据、组织结构数据等
2)Redis:提供缓存能力,例如登录验证码、分布式锁
3)Maven:提供项目构建方式,Nexus搭建私服
4)Dubbo:提供服务远程调用能力
5)注册中心:提供两种注册方式,zookeeper以及nocas两种注册中心,为Dubbo提供接口注册及接口调用能力
6)Nocas:提供服务注册能力及远程配置文件支持(springboot配置文件等)
本系列中所有服务均以开发为主,各服务以Docker容器的方式提供能力,后面会依次记录各服务以Docker的方式进行部署的过程