最近公司准备开发一套SAAS系统,具体需求是SAAS系统准备卖给上百个可能有上下级关系的公司,这套SAAS系统会有N套服务应用,每套服务都做成一个分布式微服务,采取单点登录的方式,如果一个公司购买了SAAS系统的N套服务就可以采用单点登录方式跳转到不同的应用系统中,对此需要设计一套数据库方案。
方案一:介于数据库用户量预估只是百万级别的,故采用一套数据库,分多个数据库实例,为每个服务应用使用一个单独的数据库实例,单独有个主数据库实例用来存放用户表、公司表等主表,以便实现单点登录,用户通过输入用户名、密码和公司代码登录后即可登录,然后单点登录到购买的应用服务系统,应用系统服务的每张表只是和这个应用系统功能有关,并安排插入公司ID,这样就可以区分不同公司进入不同服务应用看到自家数据了。应用系统服务的表尽量考虑能够增加冗余的方式以便减少多表查询时IO操作。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐