protocol buffers - Common protobuf data types in microservice architecture? -
we thinking of implementing kind of microservice architecture. have software maintained multiple teams , use grpc protobuf 3 serialization mechanism point point communication. goal decouple business logic application logic on 1 hand , allow uis spanning multiple business contexts on other hand.
microservices have handle data similar or identical data handled other microservices.
in context, advisable extract common proto3 data types, handle them separately , import them dependencies each microservice? way reused in multiple services.
or better focus on decoupling microservices each other not sharing (common) data types (share nothing architecture)?
what should make wonder why multiple microservices handle similar or identical data. may mean going far in slicing solution. quoting sam newman - "bounded contexts represent autonomous business domains (i.e., distinct business capabilities), , therefore appropriate starting point identifying dividing lines microservices.".
so - there should business reason go deeper business domain -> microservice split.
one comment "sharing libraries/components" i've read shared library/component becomes bottleneck, changes make there require lot of regression testing across teams , initial value of having may overshadowed effort required maintain it.
so can see, if go microservices, i'd vote share-nothing approach ;-)
Comments
Post a Comment