运行架构 = 技术选型 + 控制流划分 + 同步关系
运行架构关注进程 线程 中断服务程序等运行时的控制流,以及相关的并发 同步 通信等问题,对运行期性能 可伸缩性, 可用性 安全行有重大影响
运行架构和开发架构的关系, 开发架构一般偏重程序包在编译时的静态依赖关系,而运行架构关注这些程序运行后形成的线程 进程 中断服务 以及它们引用的类实例 传递的数据
用UML描述运行架构: 静态--- 包图 类图(主动类非常重要) 对象图(主动对象非常重要)
动态--- 序列图 协作图说明关键交互机制
- 运行架构核心设计任务
-
并发技术选型
- 进程
- 线程
- 中断服务程序
-
控制流划分
-
控制流间同步
一旦系统中存在不止一条控制流,就要考虑控制流之间的通信机制(共享内存或消息), 同步关系,如有资源争用还要引入加锁机制
-