随着谷雨开源SaaS平台(G2rain)的项目逐步落地并发布至GitHub,目前我们已稳步推进至细节设计与开发阶段。
为确保项目全周期开发的一致性,规避后续迭代中可能出现的方向偏差,同时也让社区伙伴更清晰地了解平台的演进逻辑,我们决定将每次核心议题的讨论内容同步归档至GitHub。
一、Passport模块归属与功能优化
二、数据隔离问题解决方案
非租户、非运营、非超管用户通过业务数据ID查询数据时,存在数据隔离失效风险。
- 2.2 临时方案
- 方案1网关层:新增ID查询到数据响应过滤中新增所属租户与公司归属关系的验证逻辑;【优先实现】
- 方案2业务层:各业务模块需自行实现拦截器或Filter,二次校验数据的租户及公司归属关系;
- 长期规划:待数据规模增长至一定阶段,考虑迁移至ES以优化隔离与查询性能。
三、网关日志优化方案
- TraceId生成与透传:由网关统一生成TraceId,确保其在各微服务间正常透传,便于链路追踪;
- 日志用途与存储:网关所有操作日志推送消息队列,审计模块消费数据存储至数据库,满足审计需求;网关日志需满足计量明细所需数据,支撑后续计费相关场景;
- 日志格式:网关输出日志统一采用JSON格式。
四、前端项目配置优化
决议:将前端项目依赖版本升级至最新稳定版,核心组件版本升级完成后进行固定,避免后续非预期更新。(需修改package.json文件)
- 4.2 主题样式统一(可选)
- 样式抽取:将g2rain-main-shell相关页面的CSS样式抽取为统一资源,提升复用性与维护性;
- 子应用模板:为子应用提供一套与g2rain-main-shell风格一致的CSS模板,保障整体视觉统一。
五、权限资源管理设计
- 菜单资源配置:各应用独立配置自身菜单,明确包含转发路径、菜单类型等核心信息;
- 页面资源配置:权限接口支持获取已授权的所有页面资源统一返回前端页面,便于前端动态路由初始化。
六、快照版本引入规划
决议:引入快照版本机制,核心原因是支持同一模块版本可多次推送至Maven仓库,满足迭代过程中的多轮测试与发布需求。【待验证】
七、推送中心建设
- 核心定位:与网关承担同等支持审计与计量角色,补充网关在推送场景下的能力覆盖;
- 阶段目标:优先支持客户接收HTTP推送,后续根据需求扩展其他推送协议。
八、后续行动项
- 各模块负责人根据上述决议,梳理具体开发任务与时间节点;
- 补充会议相关细节后,发布至GitHub社区对应目录;
- 定期同步各议题的落地进度,在后续社区会议中更新进展。
