Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

version management in microservices

Suppose that I have a UserService in my Microservice Architecture deployed on the cloud. There is a Service Discovery for routing the requests to different host of UserService.

If I have two different versions of UserService. Lets say user-service-1.0 and user-service-2.0 and part of clients should still use older version, then how this can be managed in Microservice Architecture.

like image 846
sansari Avatar asked Aug 06 '17 15:08

sansari


2 Answers

For backward compatibility, see Product Versioning Microservices, in general Semantic Versioning is advised by many...

In the broader sense - there should be an agreed phase-out roadmap for major versions, that is communicated to API consumers (together with SLAs). This is why tracking who uses your APIs is important.

like image 178
Lech Migdal Avatar answered Sep 25 '22 15:09

Lech Migdal


Every version of UserService needs to be backwards and forwards compatible. This way clients can talk to any version of the service and not crash.

Of course, the details of how this is achieved depends on your architecture.

like image 33
Kraylog Avatar answered Sep 24 '22 15:09

Kraylog