在微服务中使用JSON作为传输时的共享数据对象模型问题

在微服务中使用JSON作为传输时的共享数据对象模型问题,json,serialization,microservices,Json,Serialization,Microservices,我们正试图为我们的新产品设计一个体系结构,其中我们正在寻找微服务。 假设我有以下的微服务 1.头寸数据服务-处理客户+证券(债券)数据 2.估价服务-与客户+证券+证券的估价数据一起使用 我们正在考虑使用Json数据结构/hirarachy,如下所示: Client - Client's attributes - List - Security - Security's attributes - List - Valuation

我们正试图为我们的新产品设计一个体系结构,其中我们正在寻找微服务。 假设我有以下的微服务

1.头寸数据服务-处理客户+证券(债券)数据

2.估价服务-与客户+证券+证券的估价数据一起使用

我们正在考虑使用Json数据结构/hirarachy,如下所示:

Client - Client's attributes

       - List - Security - Security's attributes

                         - List - Valuation - Valuation attributes
因为每个微服务都将接收JSON中各自的输入数据,并且必须解析它的java对象(Client.java、Security.java等、Valuation.java) 我们正在考虑将所有java类(对象模型-Client.java、Security.java、Valuation.java等)放在一个单独的java项目中,并将其用作所有微服务中的jar依赖项,以便它们可以将JSON序列化/反序列化到这些对象中并相应地工作

从现在起

1.我们在所有微服务中共享对象模型

2.对象模型的任何更改都将影响所有服务

3.它们在某个地方变得相互依赖,因为假设位置数据服务只负责客户端和安全性的属性,但在使用共享对象模型反序列化r序列化时,仍将具有完整的herarchy客户端-[安全列表[估价列表]]
我们是否违反了微服务背后的设计方法,我们说每个微服务都与其他微服务完全隔离?

我面临着一个类似的问题,我觉得答案是拥抱冗余。每个微服务将定义自己的模型,并能够反序列化到该模型中(忽略未知属性)。这样,您就遵守了开放/封闭原则,只在必要时向模型添加新属性,并将您的服务彼此隔离。

您好,我也面临着类似的问题。你能告诉我你是怎么解决的吗?