URL 资源标识
概念
在 VSOA 的世界里,所有的差异化均得到统一,所有的硬件、软件服务均提供统一的资源标签 URL。类似 http://
,VSOA 的 URL 以 vsoa://
开始。下面通过 2 个例子介绍 VSOA 统一资源标识的好处:
匹配规则
URL 标识 | RPC 匹配规则 |
---|---|
“/” | 默认监听所有事件 |
“/a/b/c” | 只处理 “/a/b/c” 标识的调用 |
“/a/b/c/” | 处理 “/a/b/c” 和 “/a/b/c/…” 标识的所有调用 |
注意:
如果 “/a/b/c” 和 “/a/b/c/” 的 RPC 监听处理同时存在,则客户端发起一个 “/a/b/c” 标识的 RPC 调用时, 系统将优先匹配 “/a/b/c”,而非 “/a/b/c/”。
设计原则
- **URL 应带有版本前缀。**例如在 URL 中使用
/v1/……
的标识来区分不同版本的接口,以便在后期升级维护时可以做到向前兼容。 - **URL 与资源有唯一对应关系。**不论使用何种访问方式(RPC、发布与订阅 或 Datagram)、何种通道(正常或 quick),一个 URL 都对应一个唯一资源。要使得 URL 与资源具有唯一对应关系,便于功能维护,减少复杂度。
举例
例如:一个飞行系统中,存在传感器数据采集服务和导航服务,假定传感器数据采集服务 URL 为 vsoa://domain/sensor ,导航服务 URL 为 vsoa://domain/navigation。应⽤如果需要获取传感器数据采集服务或导航服务,精准订阅它们 URL 即可。
又如:在该飞行系统中,该传感器系统是一个综合服务,包含了红外、雷达等多种传感服务,它们的服务 URL 分别为 vsoa://domain/sensor/infrared 、 vsoa://domain/sensor/radar ,应用如果需要获取综合服务下面的所有子服务,则直接订阅其父节点 vsoa://domain/sensor 即可,通过这种订阅匹配机制,可以降低代码编写的复杂度,提高代码编写效率与质量。