18、微服务中的服务编排器:复杂任务处理策略

微服务中的服务编排器:复杂任务处理策略

在微服务架构中,如何处理复杂任务是一个关键问题。本文将深入探讨服务编排器(Service Orchestrator)的概念、实现策略以及相关示例。

1. 座位选择器微服务示例

座位选择器微服务(Seat Selector Microservice)允许用户分配座位。它通过航班服务(Flights)查找可用座位,并通过票务服务(Ticketing)将该座位分配给客户。关键在于,座位选择器微服务从不直接访问这些数据,而是通过调用具有直接数据访问权限的航班和票务微服务的行为来间接访问。航班和票务服务各自负责保持其管理的数据的一致性,因此座位选择器微服务不会导致数据不一致。

2. 微服务处理复杂任务的挑战

当使用微服务架构构建新应用或重构现有应用时,每个微服务都有自己的服务 API 和自我管理的数据存储。一个复杂任务通常由多个步骤组成,例如购买音乐会门票需要预订座位、处理付款和交付入场券;规划产品运输需要查找客户的送货地址、产品的尺寸和重量以及仓库的库存;银行转账需要更新两个账户。

传统的 IT 应用通过事务来解决这类问题。简单事务在单个资源中运行,确保一组更新要么全部立即提交,要么全部不提交;分布式事务跨多个资源运行,确保所有资源中的更新要么同时提交,要么全部不提交。然而,事务存在性能开销,在云环境中进行事务处理也面临挑战。云环境会停止和重启服务器,导致服务器变得不可靠,云工作负载具有移动性和弹性,平台会重新定位应用和资源,这就要求任务是可中断的工作单元,能够重新开始和重试。

3. 服务编排器的概念

为了解决微服务处理复杂任务的问题,可以设计一个作为服务编排器

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值