服务架构设计:边界划分、数据管理与平衡之道
1. 服务边界划分准则
1.1 关键业务逻辑分离
以在线信用卡支付处理为例,将其置于独立服务是明智之举,原因如下:
- 法律/监管要求 :信用卡存储有特定法律和监管要求,独立服务便于区别处理此类数据与其他业务数据。
- 安全考量 :为保障安全,可能需在相关服务器周围设置额外防火墙。
- 验证需求 :需进行更严格的生产测试,以确保其安全性远超系统其他部分。
- 访问限制 :限制对存储信用卡等敏感支付信息服务器的访问,仅必要人员可接触。
1.2 明确且可分离的团队所有权
随着应用复杂度增加,开发者团队规模扩大,服务可将较小、独立的模块交由不同团队负责。
- 单个服务应由不超3 - 8名开发者的单一团队拥有和运营,该团队负责服务的开发、测试、部署、性能和可用性等各方面。
- 一个团队可根据服务复杂度和活跃度管理多个服务,性质相似的服务由同一团队管理可能更高效。
- 安全相关的团队分离 :对于有监管或法律约束的服务,如信用卡支付处理,限制访问可降低数据泄露风险。还可将相关敏感数据拆分到不同服务,由不同团队管理,减少数据被同时泄露的可能性。例如,信用卡号存于一个服务,账单地址和CCV码等次要信息存于另一个服务。
1.3 自然可分离的数据
服务管理的状态和数据应与其他数据分离,多个独立代码库操作同一数据集会引发问题。服务A
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



