VSOA 简介

更新时间:
2024-12-31

VSOA 简介

本节内容介绍 VSOA 基础知识,包括 VSOA 框架、通信特点、URL 资源标识以及 VSOA 位置服务的配置方法。

什么是 VSOA

VSOA(Vehicle SOA)是翼辉为了解决任务关键型系统不能适用当前微服务通信架构问题而设计的⼀个轻量级适用于任务关键领域的微服务通信架构,以方便开发者构建大型分布式松耦合软件系统,且支持并行开发。

其主要特点为支持多种编程语言、多 CPU 架构环境与多操作系统平台,同时不依赖任何第三方库,架构简洁、资源占用小、服务响应速度快。使用者无需单独学习 IDL(Interface description language)语言,具有开发成本低、开发效率高等特点。考虑到任务关键型场景的多样性和碎片化特点,VSOA 汇集订阅/发布、RPC、高带宽数据流以及自定义数据报等功能于一体,可满足任何分布式应用模型;同时提供非入侵式仿真测试工具与便捷的开发环境,让开发者在享受云计算先进的开发体验以及高效的生产效率的同时,继续保持任务关键领域对业务功能和性能的高可靠需求。

VSOA 框架

在 VSOA 框架中,存在如下三个角色:

服务端: 指服务的提供者,向外提供资源。

客户端: 指业务的使用者,使用服务端的资源。

位置服务: 与 DNS 类似,客户端无需知道服务提供方实际的网络地址即可与其建立连接。

VSOA 通信特点

VSOA 是一个全双工通信协议,同时使用了 TCP 和 UDP。在 VSOA 的众多接口中,含有 quick 接口的使用的即为 UDP 通道。 这些快速通道通常用于高频率的数据更新场景,也因为高频率的数据更新,对于这些数据不应当有可靠传输的严格要求。需要注意的是,UDP 通道不能穿透 NAT 网络,所以不能在含有 NAT 网络的场景中使用这些快速通道。

VSOA 的数据包负载有效长度为 (256K - 20) 字节,当使用快速通道时该长度为 (65507 - 20) 字节,所以如果需要传输大量数据时应当使用 VSOA Stream 功能。

VSOA 的 URL 资源标识

在 VSOA 的世界里,所有的差异化均得到统一,所有的硬件、软件服务均提供统一的资源标签 URL。类似 http://,VSOA 的 URL 以 vsoa:// 开始。下面通过 2 个例子介绍 VSOA 统一资源标识的好处:

例如:一个飞行系统中,存在传感器数据采集服务和导航服务,假定传感器数据采集服务 URL 为 vsoa://domain/sensor ,导航服务 URL 为 vsoa://domain/navigation。应⽤如果需要获取传感器数据采集服务或导航服务,精准订阅它们 URL 即可。

又如:在该飞行系统中,该传感器系统是一个综合服务,包含了红外、雷达等多种传感服务,它们的服务 URL 分别为 vsoa://domain/sensor/infrared 、 vsoa://domain/sensor/radar ,应用如果需要获取综合服务下面的所有子服务,则直接订阅其父节点 vsoa://domain/sensor 即可,通过这种订阅匹配机制,可以降低代码编写的复杂度,提高代码编写效率与质量。

VSOA 位置服务配置方法

位置服务对外提供微服务地址查询功能,用户输入指定微服务的 URL,位置服务返回该微服务的通信地址和端口。

说明:
位置服务可以由独立的位置服务程序提供,也可由 ECSM 容器管理平台提供(ECSM 集成了位置服务功能)。

在客户端运行的环境中需要指定位置服务器的地址,在 SylixOS 或 Linux 中客户端查询位置服务器地址流程如下:

  • 首先查询系统环境变量 VSOA_POS_SERVER 指定的位置。
  • 若环境变量不存在,则查询 /etc/vsoa.pos 中的配置。

下面以 "位置服务位于 192.168.1.1,端口为 4000" 为例,介绍 VSOA 位置服务设置方法:

  • 若使用环境变量:
VSOA_POS_SERVER=192.168.1.1:4000
  • 若使用 /etc/vsoa.pos,在文件内加入如下内容:
192.168.1.1 4000

在 Windows 中,vsoa.pos 配置文件的存储路径为:C:\Windows\System32\drivers\etc\vsoa.pos

文档内容是否对您有所帮助?
有帮助
没帮助