VSOA 相关问题
本节主要介绍使用 VSOA 进行云原生开发过程中可能遇到的常见问题与解决方法。
VSOA 是否可以兼容 Vx 类操作系统?
不支持,可以直接使用 SylixOS 替代。
其他通信协议如何使用 VSOA 进行通信?
建议通过协议桥接容器进行转换后接入 VSOA 微服务,也可以通过容器内的自定义服务实现。
VSOA 是否支持数据链?
翼辉计划推出各种标准数据链 ECS 容器软件包,支持各种数据链标准,同时该微服务通过 VSOA 接口对其他业务系统提供数据链支持,多业务系统可通过此微服务共享数据链信息,打通整个业务网络。
VSOA 依赖于以太网哪一层级?
VSOA 位于网络协议栈的传输层之上,其中 TCP 主要用于过程调用的业务请求和高速双工数据流的传输,UDP 用于实现快速数据通道。
在整套云原生方案中,是否可以使用 MQTT 等其他通信协议?
推荐使用 VSOA 作为主要通信协议;VSOA 功能已覆盖 MQTT 并且性能优于 MQTT。
RPC 单次传输数据量有限制吗?
有,VSOA 传输的所有包都有最大限制,为 256KB。
VSOA 的订阅发布是否支持组播投递?
目前不支持。当前 VSOA 的订阅发布是根据设置的客户端优先级轮转投递的。因为 VSOA 在跨网段传输时必须确保消息的有序性和完全送达,所以暂时未实现组播投递功能。后续我们会考虑在 QUICK 非可靠通道中增加对组播投递的支持。
VSOA 的订阅发布不支持组播投递,是如何确保网状订阅发布的实时性?
目前网状订阅发布依靠 VSOA 本身的架构是无法达到组播实时性效果,可以采用业务网关的架构设计,就是将同类紧耦合微服务进行紧耦合设计,将不同 QOS 的业务进行代理隔离。
客户端启动时提示找不到对应名称服务端该怎么解决?
- 未使用 ECSM 情况下,可以按照如下流程排查:
- 检查是否启动了位置服务和服务端程序;
- 检查是否配置了位置服务的环境变量或者配置文件(配置流程见 VSOA 位置服务配置方法)。若使用容器方式部署客户端,需将环境变量配置到客户端容器内部;
- 若检查已配置正确,但仍不能找到服务,可使用 VSOA 工具进行测试,命令操作如下:(详情可参考 VSOA 工具使用):
vcx -g'{"value": 0}' -p 1234 -d 123456 -x vsoa://server_name
- 若可以找到服务,表示位置服务与服务端工作正常,请检查客户端实现是否存在问题。
- 若不能找到服务,表示位置服务或服务端存在问题,可使用 VSOA 工具进行测试,命令操作如下:
vcx -g'{"value": 0}' -p 1234 -d 123456 -x ${server_ip}:${port}
- 若可以正常通信,表明位置服务存在问题,如没有该服务名的路由、IP 或端口配置错误等。
- 若不能正常通信,表明服务端程序存在问题,如 IP 和端口号是否对应、VSOA 开发库的版本是否正确、许可证是否正确等。
- 在使用 ECSM 的情况下,则需要参考 ECSM 部署,检查主机名称、位置服务环境变量等地方是否配置正确。