汽车 SOA 学习笔记
SOA
把功能抽象成一个个独立的服务
定义
Service-Oriented Architecture,面向服务的架构
是思想、架构、软件设计模式、设计方法,而不是一种具体的技术
目标
构建灵活的平台系统
本质
服务的集合
特点
- 松耦合,无状态、无依赖,不绑定特定实现
- 高内聚、独立、可复用、可重组
- 通信标准化:简单、精确的接口通信
用途
服务治理
- 解决数据服务的复杂度:通过服务总线,简化服务之间的关系
- 服务向总线注册,总线提供服务发现机制(还可以扩展心跳检测、负载均衡等机制)
注:数据传输不经过总线
具体规范/实现
SOA 只是思想、架构、软件设计模式、设计方法。具体的规范/实现可以是 SOME/IP,DDS,SOAP,REST...
SOA 和软件定义汽车
未来的智能网联汽车将会是 4 个轮子 + 高性能计算机。
通过软件升级(服务订阅)可以提升性能、增加新功能、减少返厂/4S 店维修,改变整车厂的盈利模式。
软件定义汽车和 SOA 无必然联系,但 SOA 是软件定义汽车的解决方案之一。
汽车 SOA 优势
软硬件解耦:服务可以部署在任意域控上
安全冗余:如将转向服务部署在多个域控上
汽车 SOA 实现重点
- SOC(Service-Oriented Communication):面向服务的通信,如 SOME/IP 或 DDS
- SORS(Service-Oriented Reuse Shared Design):重用、重组关系设计。由 OEM 负责的整车架构,可以自下而上(从车辆传感器、执行器出发,抽象成一个个服务。至于如何利用这些基础服务,交给上层 App)或自上而下(从具体的用例出发,往下层分解,分解出需要的服务)
- SOSA(Service-Oriented Software Architecture):面向服务的软件架构,如 Adaptive AUTOSAR
SOA 和 Adaptive AUTOSAR 关系
2.3.2 SOA
为了支持复杂的应用,同时在分布式处理和计算资源分配时,保证最大灵活性和可扩展性,AP 遵循面向服务的架构(SOA)。SOA 基于如下概念:系统由一些列的服务组成,服务之间可以相互调用,应用可以根据需要使用一个或多个服务。一个服务可以运行在本地 ECU,也可以运行在远程 ECU 上。不论哪种情况,应用程序的代码都一样(译注:通过代理模式实现)。通信服务负责处理具体通信细节,应用程序无需关心。从另一个角度来看这个架构:分布式计算,通过消息传递的形式来通信。这种消息传递、基于通信的架构也受益于快速、高带宽的通信(如以太网)的兴起。
2.3.3 并行处理
分布式计算本来就是并行的。SOA 中,不同的应用使用不同的服务。众核以及异构计算所带来的并行计算能力,使得实现内在并行性在技术上成为可能。因此,随着众核-异构计算技术的发展,AP 在架构具有了扩展功能和性能的能力。硬件和平台接口规范只是一部分,OS/hypervisor 技术和开发工具(如自动并行化工具)的发展也非常重要。这部分将有 AP 供应商以及行业/学术生态系统实现。AP 也旨在适应此类技术。
参考链接
本文作者:Zijian/TENG(微信公众号:好记性如烂笔头),转载请注明原文链接:https://www.cnblogs.com/tengzijian/p/v-soa-overview.html