2016-01-20 4 views
0

Когда я хочу развернуть несколько версий одного и того же микросервиса, должен ли я иметь разные конечные точки, которые могут быть открыты для каждой службы. Например, если я подвергаюсь CustomerService, должен ли я показывать http://host:port/v1/CustomerService, http://host:port/v2/CustomerService и т. Д.? Или есть способ разоблачить единую конечную точку и маршрут, основанный на потребителе, в облачном литейном цехе?Cloud Foundry - несколько версий служб

ответ

2

Вы можете использовать create и map маршруты, которые включают в себя часть пути, например. v2. Например, вы можете иметь два приложения, MyService и MyServiceV2, то вы можете сделать:

cf create-route SPACE_NAME SOME_APP_DOMAIN --hostname myservice 
cf create-route SPACE_NAME SOME_APP_DOMAIN --hostname myservice --path v2 
cf map-route MyService SOME_APP_DOMAIN --hostname myservice 
cf map-route MyServiceV2 SOME_APP_DOMAIN --hostname myservice --path v2 

Затем все клиенты этого microservice могут разговаривать с вещами как myservice.SOME_APP_DOMAIN/some-resource или myservice.SOME_APP_DOMAIN/v2/some-resource, в зависимости от того, это старые клиенты говорят на старый сервис или современные клиенты, разговаривающие с новым.

+0

Общепринято ли поддерживать одну банку и адаптеры для каждой версии? –

Смежные вопросы