后端服务使用指南:数据共享、绑定与发现
在服务开发中,服务间共享结构化数据、外部化URL和元数据以及服务发现是非常重要的方面。下面将详细介绍相关内容。
服务间共享结构化数据
在服务开发中,经常会出现一个服务消费另一个服务暴露的数据的情况。例如,有一个履行服务(fulfillment service)暴露了一个表示特定SKU仓库履行状态的小结构,该状态包含商品发货前的剩余时间、库存数量等信息。这就引出了模型共享的问题,通常有以下三种解决方法:
1. 客户端导入服务器包
- 做法 :将 fulfillmentStatus 结构体改为 FulfillmentStatus (从而导出该类型),让目录服务(catalog service)导入履行服务包,这样目录服务可以直接访问履行状态数据类型。
- 优点 :最大化代码复用,无代码重复,避免同一实体在履行和目录定义之间的偏差。
- 缺点 :客户端可以访问履行服务导出的所有类型,导致两者紧密耦合。一旦履行服务包有任何更改,即使与公共契约无关,也可能导致目录服务编译或运行时失败。因此,应尽量避免这种解决方案。
2. 客户端复制服务器结构
- 做法 :履行服务和目录服务都有 fulfillmentStatus 结构体的私有定义以及相应的JSON序列化标签。
- 优点
超级会员免费看
订阅专栏 解锁全文
977

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



