Skip to main content
QRTR 使用端点地址进行直接投递,使用服务名称进行发现。路由器头承载足够的信息,使每个对端路由器能够对消息进行分类、路由和投递。

端点地址

客户端或服务器由两个值标识:
  • 节点 ID —— 标识托管该端点的处理器。
  • 端口 ID —— 标识节点内的一个端口,在端点创建时分配。
服务名称也由两个值标识:
  • 服务 ID —— 标识服务。
  • 实例 ID —— 标识该服务的特定实例(当运行多个实例时有用)。
当服务器注册一个服务名称时,路由器会将服务名称连同其节点和端口地址一起通告。之后客户端可以在发送数据之前解析该服务名称。

控制路径事件

路由器使用控制消息传播:
  • 节点状态(某个处理器上线或下线)
  • 服务注册(某个服务启动或停止)
  • 客户端连接(某个客户端连接或断开)
  • 流控通知(某个目的地是否准备好接收更多数据)
客户端应将服务的丢失或到达视为一次状态转换,而不是假定先前已解析的地址永久有效。

消息头

路由器为每条消息添加一个头,其中标识协议版本、消息类型、来源、目的地、载荷长度以及接收方是否应确认投递。该头承载了足以让路由器无需单独连接即可投递消息的全部信息。