Remix.run Logo
c-fe 7 hours ago

one way is by using schemas to communicate between them that are backwards compatible. eg with avro its quite nice

gmueckl 7 hours ago | parent [-]

But the you're outsourcing the same shared code problem to a third party shared library. It fundamentally doesn't go away.

reactordev 5 hours ago | parent [-]

That 3rd party library rarely gets updated whereas Jon’s commit adds a field and now everyone has to update or the marshaling doesn’t work.

Yes, there are scenarios where you have to deploy everything but when dealing with micro services, you should only be deploying the service you are changing. If updating a field in a domain affects everyone else, you have a distributed monolith and your architecture is questionable at best.

The whole point is I can deploy my services without relying on yours, or touching yours, because it sounds like you might not know what you’re doing. That’s the beautiful effect of a good micro service architecture.