假设我有Service A
和Service B
。Service A
是一个通过API公开其结果的爬虫。CCD_ 4最终消耗CCD_。
让我们举例说明这个问题,Service A
公开了一个名为created_at
的字段,该字段被收集为时间戳,即int
。但是,此字段需要在Service B
中保存为datetime
。我应该转换Service A
或Service B
处的created_at
值吗?
(注意:我知道,即使我在Service A
转换值,它最初也会在Service B
作为str
使用,但有一些内置工具可以在保存到DB时免费进行转换。(
我倾向于在Service A
转换,因为Service B
更复杂,因此会留下更多的";责任;至CCD_ 19。需要明确的是:我仍然会在Service A
检查数据的格式是否正确,但不会进行任何类型的转换来调整它
我的观点过于简化了吗?
正如@Vaibs正确地说的,只要没有进一步的要求或约束需要考虑,最好在消费者(服务B(中进行数据转换。
否则你可能会有两个缺点:
A( 服务A必须在日期对话中了解其所有消费者及其需求。B( 服务B的更改可能会触发服务A的更改。这两个服务正在耦合。
在微服务体系结构中,这种情况有时被称为"微服务";伪去耦";。代码被拆分为两个服务,但您必须同时更改和发布这两个服务;独立交付";。