Feature Request: Multiple Application Versions with Rollback capabilities. Customers would like the ability to throttle requests between multiple versions of an application and service.
[1] The request is to be able to deploy two versions of an application and service simultaneously:
Simultaneous different versions of an application services are required.
Rollback to previous version of an application is necessary.
[2] Proposed Solution: Versioning of the Application and Service
The switch in zookeper will register itself as two different names.
Technically this could be done at the namespace level.
Explicit versioning for applications is required. URL of services could be exposed in url path. We could use an evergreen URL “latest”. This is not preferred and would constitute a breaking change for existing applications.
Alternatively we could route based on a request header signifying a different version, or a content type. This would not be a breaking change, and the url by default would be evergreen.
Design Diagram
[3] Non versioned solution: Running two separate applications with services communicating to the same dataset and having an upstream device implement url routing is identical to us implementing an "evergreen" url