• by emrah on 7/21/2022, 6:30:06 PM

    The benefit of microservices is also its downfall. You need to maintain each one as a separate entity.

    This is true whether you have "microservices" or "libraries packaged and released individually".

    I think when you need to introduce a breaking change, if versioning is not sufficient, you could create a separate library and upgrade each service slowly to it while still maintaining both libraries until all services have moved to the new one. This is more semantics than anything else but might be useful.

    I'm afraid there is no silverbullet. I'd love to hear more suggestions too.

  • by trcarney on 7/21/2022, 6:54:44 PM

    you could set the shared code a submodule in git. you can set this up so the submodule points to a specific commit. this way any changes to the shared library won't break your other services. Or the company I work for uses artifactory to store shared libraries and we point our services to a specific version of the shared library. this way not all services need to be upgraded at once.