移动微服务:构建灵活的普适应用设计理念解析
立即解锁
发布时间: 2025-09-13 01:51:26 阅读量: 3 订阅数: 19 AIGC 

### 移动微服务:构建灵活的普适应用设计理念解析
#### 1. 按需绑定微服务
在动态的普适环境中,服务组合的故障往往在发生后才被检测到,从已出现的故障中恢复组合会带来额外的时间和通信成本。按需绑定利用最新的服务信息选择服务提供商,无需额外的环境监控或基础设施维护工作。为了支持可靠的服务组合,并使绑定的服务能顺利无缝地适应上下文变化,对现有按需服务绑定机制进行改进是很有意义的。
为了减少执行延迟,组合过程会选择能够形成最短服务流的服务提供商。此外,每个服务的执行时间也应作为执行延迟的一个因素来考虑。连续服务提供商之间的路由也需要短,以减少调用服务提供商或路由中间执行结果时出现故障的可能性。
- **路径可靠性驱动的选择**:基于路径的健壮性(可靠性)选择服务。路径的健壮性值通过多个标准计算得出,包括每个单独服务的执行时间、服务流的长度以及服务发现期间的路由跳数,这表明剩余执行路径在一段时间内是否可能可靠。
- **按需绑定微服务的概念**:当前的按需绑定方法在服务发现期间将多个功能等效的服务提供商绑定到一个组合过程,并在选择一个服务提供商进行调用后发送令牌消息释放它们。然而,绑定和释放之间的时间间隔虽小,但在此期间许多支持所需功能的服务提供商可能无法用于网络中的其他组合过程。此外,释放服务提供商还会引入流量开销。
为了解决这些问题,提出了一种动态组合覆盖网络,它组织当前参与组合过程的服务提供商。这个动态组合覆盖网络是临时的,仅在组合过程在环境中执行时存在。使用这个覆盖网络,服务提供商仅在需要调用时才被绑定。
#### 2. 服务调用
服务执行过程需要管理可变环境。集中式服务调用虽然在许多解决方案中被研究,但使用中央实体监督服务提供商的执行会限制移动感知能力,从而降低灵活性。分布式服务执行的研究包括以下解决方案:
| 方法 | 描述 | 优点 | 缺点 |
| --- | --- | --- | --- |
| 片段分发 | 将服务组合分解为抽象微服务,并将其作为任务分配给选定的服务提供商,由备份提供商监控执行 | 实现灵活的分散式服务执行 | 服务发现和选择过程仍需中央组合引擎 |
| 过程迁移 | 仅划分服务执行过程,将完整组合交给第一个提供商,部分解析后交给后续提供商 | | 难以在目标环境中创建良好的代理网络 |
##### 2.1 片段分发
- [146] 将执行过程分发到一组选定的服务提供商,并维护对其他候选提供商的引用作为备份。备份提供商监控选定提供商的执行,一旦选定提供商失败,备份提供商之一将接管执行过程。
- [51] 针对包含复杂控制逻辑的服务组合,使用依赖表进行分解,将概念性服务组合切片为子过程,每个子过程由一个服务实例实现。
- OSIRIS [160] 将中央概念性组合描述分解为执行片段,并分发给不同的服务提供商,支持复杂控制逻辑,但假设存在一个连续可用的节点来管理并行服务执行。
##### 2.2 过程迁移方法
- [29] 提出基于分布式代理的服务组合模型,动态选择一组网络实体,将组合过程从一个实体传递到另一个实体。
- WFMS [7] 是一个分散式工作流管理模型,自我描述工作流并将其从一个服务提供商传递到后续服务提供商。
- 延续传递消息 [206] 是一个分散式执行模型,将服务执行过程从原始服务提供商传递到其他提供商,并选择一个节点作为范围管理器处理执行故障。
- 过程实例迁移方法 [207] 将概念性组合的完整控制逻辑分配给每个参与的服务提供商,允许参与者在运行时选择碎片化的粒度,但需要进一步改进以支持分散式组合适应模型。
##### 2.3 运行时服务公告
过程迁移和片段分发都以分散的方式解决服务调用问题。过程迁移在支持功能服务替换时更灵活,而片段分发可以保护整体数据流不被单个第三方观察。
大多数假设定期服务公告的服务组合方法由于频繁的服务匹配和多跳广播而成本高昂。运行时服务公告区分服务提供商,允许当前参与组合过程的服务提供商分析新服务并决定是否邀请其提供商加入组合。不参与任何组合过程的空闲提供商使用公告消息仅获取本地网络属性的信息,为未来的组合做准备。服务提供商使用单跳广播向网络公告其服务,空闲提供商接收公告消息后,仅计算网络属性,而不调用匹配器启动昂贵的语义服务匹配过程。
下面是服务调用的流程 mermaid 图:
```mermaid
graph LR
A[服务请求] --> B{选择调用方法}
B -->|片段分发| C[分配任务到服务提供商]
B -->|过程迁移| D[传递组合过程]
C
```
0
0
复制全文
相关推荐









