微服务架构中常见的protobuf数据类型?

时间:2017-08-20 12:17:52

标签: protocol-buffers microservices grpc

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

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

在这种情况下,是否可以提取那些常见的proto3数据类型,单独处理它们并将它们作为依赖项导入每个微服务?这样他们就可以在多种服务中重复使用。

或者通过不共享任何(常见)数据类型(不共享任何架构)来专注于将微服务彼此解耦是否更好?

1 个答案:

答案 0 :(得分:1)

应该让您想知道为什么多个微服务将处理相似或相同的数据。这可能意味着您在切片解决方案方面走得太远了。引用Sam Newman - " 有界上下文代表自治业务域(即不同的业务功能),因此是识别微服务分界线的合适起点。&#34 ;。

所以我想说 - 应该有一个比业务领域更深入的商业理由 - >微服务拆分。

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

正如你所看到的,如果你去微服务,我会投票选择无分享方法; - )