在微服务架构中使用外部API

我正在编写一个基于微服务的小型应用程序。其中一项服务的任务是查询外部API和处理JSON响应(房屋的过滤列表)。由于我正在使用协议缓冲区来序列化将发送到消息代理的消息,因此我需要将JSON输出转换为适当的协议缓冲区格式。

这是说明整体架构的图:

enter image description here

问题在于,由于JSON响应较长,分页并且还具有许多嵌套字段,因此没有简单的方法来手动创建相应的ProtoBuff消息结构。

我可能会以文本字符串形式发送JSON响应,并在数据库服务端进行处理,但这随后带来了如何在数据库中存储每个房屋对象以便稍后查询的问题。

将整个响应解组为Go结构会带来与尝试首先创建ProtoBuff消息结构相同的问题。不能将其作为原始JSON字段存储在数据库中,因为我需要能够查询某些字段并实际上从响应主体中提取每个房屋描述。

此外,创建与数百个不同字段和嵌套对象匹配的数据库架构,似乎是一种非常繁琐的处理方式。

在许多Web服务上处理大量JSON输出时,最佳实践是什么?