发布与回滚
互联网软件项目容易从页面和功能点谈起,真正贵的改动却在账号体系和集成边界。多租户数据怎么隔离、组织权限怎么继承、员工离职权限怎么收回、对外 API 怎么版本化,这些如果第一期含糊过去,第二期加一个大客户就会翻表。我们做平台型系统,先画清楚租户、角色、资源、接口四张边界。谁能看谁的数据,是产品规则,不是开发时再“顺便做一下权限”。审计日志、登录策略、密钥轮换,按实际合规要求写进范围,而不是上线后被安全扫描逼着补。
平台型产品的复杂度在账号体系和集成边界。多租户怎么隔离、权限怎么继承、对外接口怎么版本化,早定比晚改便宜得多。
互联网软件项目容易从页面和功能点谈起,真正贵的改动却在账号体系和集成边界。多租户数据怎么隔离、组织权限怎么继承、员工离职权限怎么收回、对外 API 怎么版本化,这些如果第一期含糊过去,第二期加一个大客户就会翻表。我们做平台型系统,先画清楚租户、角色、资源、接口四张边界。谁能看谁的数据,是产品规则,不是开发时再“顺便做一下权限”。审计日志、登录策略、密钥轮换,按实际合规要求写进范围,而不是上线后被安全扫描逼着补。
集成是平台的日常,不是插件。支付、短信、对象存储、单点登录、客户已有的 ERP 或 IM,都有版本和失败重试。接口要有版本号、有兼容窗口、有限流和告警,不能每个对接方一份私有协议。Webhook 失败怎么补、幂等怎么做,验收时要能演示,而不是文档里写“支持对接”。
多租户的隔离要能说得出层:库级、schema 级还是行级,成本、运维和定制空间完全不同。有的客户要求独立部署,有的只要逻辑隔离。方案阶段就要按客户分级给出策略,避免一套代码三种隔离口头承诺。计费、配额、超量降级如果是 SaaS,也要尽早定,否则运营会用人工表格当计费系统。
计费、配额、超量降级如果是 SaaS,不能靠运营表格。开通、试用到期、停服、数据导出,要有状态机,财务和客服才能对上。功能开关按租户配置,避免为一家客户改全局。审计要能回答谁在何时看过哪条数据,尤其是涉及身份证和支付的字段。沙箱和正式环境的密钥、回调地址分开,文档里写清楚版本兼容窗口。
上线按租户灰度:先内部或一个陪跑客户跑通开通、权限、账单和关键集成,再放量。文档和沙箱给对接方,比口头教接口更省事。互联网软件做成了,新租户能按流程开通,权限改动能审计,外部系统按版本对接,而不是每来一个客户就分叉一份代码。
组织、角色和数据范围分层设计,租户之间数据隔离可验证。
功能权限与数据权限分开配置,关键操作留日志可追溯。
对外 API 做版本管理,回调失败可重试,联调有沙箱环境。
权限做成一堆 if 判断,改一次牵连全身
权限模型统一抽象,功能与数据分层配置,新角色不改代码。
接口一改就打断下游,客户投诉
接口版本并行,废弃有过渡期和公告,变更留文档。
环境混用,测试数据跑到生产
环境隔离与配置分离,发布走固定流程,数据不跨环境。
多租户、组织架构、用户生命周期。
角色、功能权限、数据范围。
操作日志、登录审计、异常告警。
API 版本、密钥管理、回调重试。
单点登录、支付、消息与第三方服务。
环境隔离、配置管理、灰度发布。
先画租户、角色、资源和对外接口四张边界,写清本阶段要做的隔离级别和必须对接的系统。
定权限继承、API 版本和审计范围,确认登录、支付、存储等集成的失败重试与限流策略。
用陪跑租户打通开通、授权和关键集成。幂等、Webhook 补发、离职收回权限作为验收项写好。
按租户灰度,先内部或一个客户跑通账单和文档沙箱。后续加客户时不叉代码,按版本迭代接口。