概述
概念
VSOA(Vehicle SOA)是翼辉为了解决任务关键型系统不能适用当前微服务通信架构问题而设计的⼀个轻量级适用于任务关键领域的微服务通信架构,以方便开发者构建大型分布式松耦合软件系统,且支持并行开发。
特点
其主要特点为支持多种编程语言、多 CPU 架构环境与多操作系统平台,同时不依赖任何第三方库,架构简洁、资源占用小、服务响应速度快,具有开发成本低、开发效率高等特点。考虑到任务关键型场景的多样性和碎片化特点,VSOA 汇集订阅/发布、RPC、高带宽数据流以及自定义数据报等功能于一体,可满足任何分布式应用模型;同时提供非入侵式仿真测试工具与便捷的开发环境,让开发者在享受云计算先进的开发体验以及高效的生产效率的同时,继续保持任务关键领域对业务功能和性能的高可靠需求。
- 支持订阅和发布模型
- 支持实时 RPC 调用
- 支持并行多命令序列
- 支持可靠与快速数据发布与数据报
- 支持多路全双工高速并行数据流
- 支持网络 QoS 控制
- 支持统⼀的 URL 资源标识
- 支持域名管理与位置服务
- 轻松实现服务器容错设计
- 支持多种编程语言、操作系统和 CPU 体系
- 支持 IPv4/IPv6 双栈
- 支持标准编程范式,便于模型化开发
- 便于实现冗余健壮性设计
- 支持非入侵式仿真和测试
角色组成
在 VSOA 框架中,存在如下三个角色:
服务端: 指服务的提供者,向外提供资源。
客户端: 指业务的使用者,使用服务端的资源。
位置服务: 与 DNS 类似,客户端无需知道服务提供方实际的网络地址即可与其建立连接。
教学简化
VSOA(Vehicle SOA)是翼辉面向 “ 任务关键型云原生架构 ” 推出的系列产品之一。鉴于 VSOA 相关开发编程语言、开发操作系统、运行操作系统、运行处理器体系结构多样更设计云原生诸多概念和工具,组合逻辑复杂,为降低初学者理解实操难度,本系列教程只选择一种组合进行讲解,尽量减少非关键信息的说明。
如下是 VSOA 相关技术列表,初略估计可以有 96 种组合,后面只选择C 语言+开发Windows+运行SylixOS+运行amd64
这最常见的一种进行讲解。
开发编程语言 | 开发操作系统环境 | 运行操作系统环境 | 运行处理器体系结构 |
---|---|---|---|
C/C++ | Windows | SylixOS | amd64 |
JavaScript | Linux Debian 系 | Linux Debian 系 | i386 |
Golang | Windows | arm | |
Java | |||
aarch64 |
官方教程都是在云原生的体系下降 VSOA 的,涉及很多容器,容器管理,JavaScript、 Golang等内容,但 VOSA 其实是能在普通 SylixOS 下运行的,而不限定于容器中,所以后面只在最简单环境和依赖下讲解 VSOA,进一步专注于 VSOA 本身的学习和演示。