11、开启微服务之旅

开启微服务之旅

1. 数据隔离与领域模型

数据隔离的常用方法之一是构建包含实体、对象和聚合的领域模型。例如,存在允许客户搜索产品、购买特定类型产品以及购买产品等用例,对应有搜索、购买和库存三个功能。每个功能有不同需求,产品数据库存储在产品目录服务中,库存单独存储,搜索服务查询产品目录服务并缓存结果。

2. 数据存储的原则
  • 原则 1:通过业务能力规范数据所有权
    在微服务系统中,决定数据归属的主要依据是业务能力。微服务是实现业务能力的服务,而业务能力定义了微服务的范围。处理该能力的所有相关数据应存于微服务内部。例如,一个微服务存储客户的个人详细信息(如送货地址和电子邮件地址),另一个存储客户的购买历史,第三个存储客户偏好。负责业务能力的微服务负责存储和更新数据。
  • 原则 2:为速度和健壮性复制数据库
    选择数据存储位置的第二个因素是数据的范围或局部性。数据存储与微服务的距离会产生很大影响。微服务可以查询自己的数据库,也可以查询其他微服务的数据库,但后者会带来依赖问题。为了减少依赖,可以使用缓存数据库或维护缓存存储。可以直接缓存响应,也可以添加读取模型在一定时间后使缓存过期。拥有本地数据的微服务应根据业务能力决定代码何时失效,并使用 HTTP 缓存头控制缓存,例如 cache-control: private, max-age:3600 可将响应缓存 3600 秒。
3. 选择微服务的数据存储

选择理想数据存储的首要步骤是了解微服务数据的性质。根据数据性质,可分为以下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值