gestión de versiones en microservices

Supongamos que tengo un UserService en mi architecture de Microservice implementada en la nube. Hay una detección de service para enrutar las requestes a diferentes host de UserService.

Si tengo dos versiones diferentes de UserService. Digamos que usuario-service-1.0 y usuario-service-2.0 y parte de los clientes aún deben usar una versión anterior, y luego cómo se puede administrar en la architecture de Microservice.

Para compatibilidad con versiones anteriores, consulte los Microservices de versiones de productos , en general, la versión semántica es recomendada por muchos …

En el sentido más amplio, debería haber una hoja de ruta de eliminación pactada para las versiones principales, que se comunica a los consumidores API (junto con los SLA). Es por eso que el seguimiento de quién usa tus API es importante.

Cada versión de UserService debe ser compatible con versiones anteriores y posteriores. De esta forma, los clientes pueden hablar con cualquier versión del service y no chocar.

Por supuesto, los detalles de cómo se logra esto dependen de su architecture.