Protocol buffers 微服务体系结构中的通用protobuf数据类型?

Protocol buffers 微服务体系结构中的通用protobuf数据类型?,protocol-buffers,microservices,grpc,Protocol Buffers,Microservices,Grpc,我们正在考虑实现某种微服务架构。我们将由多个团队维护软件,我们将使用grpc和protobuf 3作为点对点通信的序列化机制。目标是一方面将业务逻辑与应用程序逻辑解耦,另一方面允许UI跨越多个业务上下文 微服务有时必须处理与其他微服务处理的数据相似或相同的数据 在这种情况下,是否建议提取这些常见的proto3数据类型,分别处理它们,并将它们作为依赖项导入到每个微服务中?这样,它们就可以在多个服务中重用 还是通过不共享任何(通用)数据类型(不共享体系结构)来将微服务彼此分离更好呢?让您感到奇怪的是

我们正在考虑实现某种微服务架构。我们将由多个团队维护软件,我们将使用grpc和protobuf 3作为点对点通信的序列化机制。目标是一方面将业务逻辑与应用程序逻辑解耦,另一方面允许UI跨越多个业务上下文

微服务有时必须处理与其他微服务处理的数据相似或相同的数据

在这种情况下,是否建议提取这些常见的proto3数据类型,分别处理它们,并将它们作为依赖项导入到每个微服务中?这样,它们就可以在多个服务中重用


还是通过不共享任何(通用)数据类型(不共享体系结构)来将微服务彼此分离更好呢?

让您感到奇怪的是,为什么多个微服务会处理相似或相同的数据。这可能意味着您在分割解决方案时走得太远了。引用——“有界上下文表示自治的业务领域(即不同的业务能力),因此是确定微服务分界线的适当起点。”

因此,我想说——应该有一个很好的商业理由去深入商业领域->微服务分离

我最近读到的关于“共享库/组件”的一条好评论是,很快这个共享库/组件就会成为您的瓶颈,您在那里所做的任何更改都将需要跨团队进行大量回归测试,并且维护它所需的努力可能会掩盖它的初始价值

如你们所见,若你们选择微服务,我会投票支持不共享的方式;-)