当我想部署相同微服务的多个版本时,我是否应该为每个服务公开一个不同的端点。例如,如果我公开CustomerService,我应该公开http://host:port/v1/CustomerService,http://host:port/v2/CustomerService等吗?或者有没有办法根据云代工厂内的消费者公开单个端点和路由?
答案 0 :(得分: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
然后,这个微服务的任何客户都可以与myservice.SOME_APP_DOMAIN/some-resource
或myservice.SOME_APP_DOMAIN/v2/some-resource
进行对话,具体取决于这些客户是旧客户与旧服务交谈,还是与最新客户交谈的最新客户之一。