寻址实例

寻址实例

每个应用程序实例都有一个服务 ID,其值可以设置为spring.cloud.bus.id其值预期为一个冒号分隔的列表 标识符,按最不具体到最具体的顺序排列。默认值为 由环境构成,作为spring.application.nameserver.port(或spring.application.index,如果设定)。ID的默认值为 以 形式构造为应用:索引:ID哪里:spring-doc.cadn.net.cn

  • 应用程序vcap.application.name,如果存在,或者spring.application.namespring-doc.cadn.net.cn

  • 指数vcap.application.instance_index,如果存在,spring.application.index,local.server.port,server.port0(按此顺序)spring-doc.cadn.net.cn

  • 身份证vcap.application.instance_id,如果存在,或者随机值。spring-doc.cadn.net.cn

HTTP 端点接受“目的”路径参数,例如/busrefresh/客户:9000哪里目的地是一个服务ID。如果 ID 由总线上的实例拥有,它处理消息以及所有其他实例 忽略它。spring-doc.cadn.net.cn

处理服务的所有实例

“目标”参数用于Spring路径匹配器(带有路径分隔符 作为一名科隆——:)以确定实例是否处理该消息。以示例为例 之前,/busenv/customers:**针对所有 “客户”服务,不管服务ID的其他部分如何。spring-doc.cadn.net.cn

服务ID必须是唯一的

总线尝试两次消除处理事件——一次是从原始事件中剔除ApplicationEvent还有一次是排队的。为此,它会检查发送服务ID 与当前的服役ID相较。如果服务的多个实例具有相同的 ID, 事件不会被处理。在本地机器上运行时,每个服务运行在不同的设备上 端口,而该端口是ID的一部分。Cloud Foundry提供一个索引来区分。 为了确保 ID 在 Cloud Foundry 之外是唯一的,设为spring.application.index自 为每个服务实例设计独特的东西。spring-doc.cadn.net.cn