3. 解决实例问题
每个应用程序实例都有一个服务ID,其值可以通过spring.cloud.bus.id设置,预期值为一个由冒号分隔的标识符列表,从最不具体到最具体排列。默认值根据环境构建,是spring.application.name和server.port(或spring.application.index,如果已设置)的组合。ID的默认值以app:index:id的形式构建,其中:
-
app是vcap.application.name,如果存在的话,则为spring.application.name -
index是vcap.application.instance_index,如果它存在;spring.application.index、local.server.port、server.port或0(按此顺序)。 -
id是vcap.application.instance_id,如果存在的话;否则为随机值。
HTTP 端点接受一个名为“目标”(destination)的路径参数,例如 /busrefresh/customers:9000,其中 destination 是服务 ID。如果该 ID 属于总线上的某个实例,则由该实例处理消息,而其他所有实例则忽略它。