分布式数据处理:隐藏存储细节与实现幂等性
1. 分布式数据概述
打破以数据为中心的习惯,第一步是停止将系统设计成数据服务的集合,而是为业务能力进行设计。数据中心接口需要遵循相关原则,同时要处理存储和管理数据带来的额外细节,包括确保数据完整性、隐藏内部数据模型和实现技术,以及应对各种网络故障而不使现有数据失效。在超媒体环境中支持分布式数据,意味着将数据响应表示为消息,返回超媒体控件以传达对返回数据的可能操作,提供独立于内部自定义数据查询技术的通用信息检索查询语言(IRQL),支持所有更改的幂等性以提高写入成功率,以及支持在不破坏服务接口的情况下修改和扩展后端数据模型。
2. 隐藏数据存储内部细节
2.1 问题提出
- 如何确保以数据为中心的服务的 API 不会“泄露”该服务使用的底层存储和查询技术?
- 怎样保护 API 消费者免受基础数据技术随时间变化的影响?
- 何时暴露当前存储技术的语法有意义,何时采用更通用的查询、数据管理和存储语言用于服务接口更合适?
2.2 解决方案
- 一般来说,应向 API 消费者隐藏数据存储技术。理想情况下,接口设计应允许在不影响现有 API 消费者的情况下更改底层数据存储。最佳方法是让服务接口专注于“要完成的工作”,而非依赖“数据语言”。
- 例外情况是当设计和实现数据管理服务本身时,需要设计和实现自己的数据平台,包括存储、查询和数据管理语言。但这与为用户管理界面支持数据服务不同。添加数据功能到 API 时,最好将特定领域的操作作为外部接口,将所选数据技术隐藏在 API 的内部实现细
超级会员免费看
订阅专栏 解锁全文
2635

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



