【面试场景题】阿里云子账号设计
文章目录
- 背景
- 设计思路
背景
某次面试,面试官问了一个问题,针对企业入驻,希望给企业一个管理员账号,然后也给这个企业的部分员工开个人账号,这个账号系统怎么设计?
当时就想就设计两张表,一张表管理企业,另一张表管理企业员工不就好了吗?但是如果企业账号和员工账号都要有修改系统的权限,就需要针对两种角色关联权限相关,并且记录相关日志、各种订单关联等都需要支持两套关联关系。
当时没有理解到面试官的意思,面试毫无疑问挂掉了,后来经提醒反应过来可以用阿里云类似的子账号的设计方式,给企业一个管理员账号,下面开各种员工子账号,这样任何一个账号都可以修改配置、创建订单、关联权限等。
设计思路
阿里云账号体系如下图,甚至包含个人账号,无需企业认证,跟企业账号可以进行同样的操作,无需设计多套方案,能更灵活地支持多种用户使用场景。