多租户架构的技术实现与数据隔离机制
Base Chat通过分层设计实现多租户支持,确保各组织数据的严格隔离:
架构实现原理
- 全局服务层:共享聊天机器人核心引擎和认证系统
- 租户上下文层:通过Google认证信息关联用户与所属组织
- 知识库路由层:根据租户ID自动映射到对应的Ragie Connect终端节点
数据隔离策略
- 数据库设计:在PostgreSQL中使用租户ID(tenant_id)作为所有表的外键
- 会话隔离:用户认证通过后,在JWT令牌中注入租户上下文信息
- 知识库连接:每个组织需配置独立的Ragie Connect实例,物理隔离知识数据
- 查询过滤:所有SQL查询自动附加WHERE tenant_id=xxx条件
这种设计既保证了系统资源的共享利用率,又通过逻辑隔离确保各组织数据的隐私性。管理员可通过专有界面管理租户配置,包括知识库连接参数、用户权限组设置等。
本答案来源于文章《Base Chat:基于 Ragie 构建知识库的多租户聊天机器人》