第一种是单元化服务,这是在多活架构下主要面向的服务类型,比如淘宝买家的信息修改就是典型的单元化服务,其根据买家的用户 ID 进行流量分流,在这个维度下,可以实现单元内封闭调用,不依赖于对端数据,而底层的数据同步只是在数据切换时确保对端数据是完整的,能够将数据补齐的,这样切换之后能够让业务直接运行。
第二种是中心化服务,主要面向全局配置或者业务具有强中心读写要求的场景,如库存扣减,不允许在多个地方同时扣减同个库存,这种场景一定会访问中心数据库,底层通过单向同步来同步数据,这样的服务提供的并不是多活能力,而是容灾能力。
第三种是普通服务,所针对的是如果业务按照某一个维度进行了流量划分,那么一些耦合的边缘服务可能无法按照相同维度进行划分,这类业务可能会选择普通服务,比如淘宝交易按照买家 ID 进行划分,那么卖家就无法按照这一维度进行划分。普通服务能够容忍同步延迟,也就是最终一致,但是无法接受访问延迟,因此主要面向读服务,不建议写场景使用。
资料来源:《数据库:从趋势到实践》,链接:https://developer.aliyun.com/topic/download?id=1113
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。