东方之窗免费收录优秀网站,为了共同发展免费收录需做上本站友情链接,洞察目录网才会审核收录,不做链接提交一律不审核,为了避免浪费时间:收录必看!!!
  • 收录网站:132
  • 快审网站:11
  • 待审网站:67
  • 文章:30846
当前位置:主页 > 网站目录 > 阿里云账号注册,阿里云服务器购买,24h自助充值

阿里云账号注册,阿里云服务器购买,24h自助充值

更新时间:2023-09-05 16:54:08 人气指数:
网站标签:

阿里云国际站经销商,主营阿里云,腾讯云,华为云,亚马逊aws,谷歌云gcp,微软云az,免费开户,代充值优惠大,联系客服飞机@jkkddd


分布式多步骤事务

本文介绍了如何使用Serverless工作流提供长流程分布式事务保证,帮助用户聚焦于自身业务逻辑。
简介
复杂的业务场景例如电商网站、酒店、航班预定这类涉及订单管理的应用通常要访问多个远程服务,并且对操作事务性语义(即所有步骤全部成功或全部失败,不存在中间状态)有较高要求。在流量较小、数据存储集中的应用中,事务性可以通过关系型数据库提供的ACID特性满足。然而在大流量场景下,为了高可用和可扩展性,业务通常选择向微服务的分布式架构方向演进。在这样的架构中提供多步骤事务性的保证通常需要引入队列和数据库来持久化消息以及展现流程状态,这类系统的开发和运维会给业务方带来额外的成本和负担。而使用Serverless工作流提供长流程分布式事务保证会帮您解决这些问题。
场景描述
假设某应用为其用户提供预定火车票、航班和酒店的功能,要求三个步骤保证事务性。该功能需要三个远程调用实现(例如预定火车票需要调用12306接口),如果三个调用都成功则该订单成功。然而实际上任何一个远程调用都有可能会失败,因此该应用需要对不同的失败场景做出相应的补偿逻辑,回退已完成操作。如下图所示:
如果预定火车票(BuyTrainTicket)成功,而预定航班(ReserveFlight)失败,则需要取消已经购买的火车票(CancelTrainTicket),并告知您订单失败。
如果预定火车票(BuyTrainTicket)和预定航班(ReserveFlight)均成功,但是预订酒店(ReserveHotel)失败,则需要取消已经预定的航班(CancelFlight)和火车票(CancelTrainTicket),并告知您订单失败。
Serverless工作流实现
下文的示例将FC函数编排成一个Serverless工作流流程从而实现了一个可靠的多步骤长流程,该示例分为3步:
创建FC函数
创建流程
执行并查看结果
步骤1:创建FC函数
本步骤是模拟场景案例中提示的三个操作即预订火车票、预订航班及预定酒店。
创建下面的Python2.7的函数,关于创建的详细步骤,请参见FC文档,建议命名:
Service: fnf-demo
Function: Operation
Operation函数模拟各操作(例如预定航班、预定酒店)的实现,根据输入决定该操作执行结果(成功或失败)。
步骤2:创建流程
使用Serverless工作流控制台创建下面的流程。
配置流程RAM角色
步骤3:执行并查看结果
在控制台上对创建好的流程(Flow)开始一个新的执行(Execution)。StartExecution API要求传入JSON格式的输入。下面的JSON对象可以模拟每个步骤的成功或失败(例如"reserve_hotel_result":"fail"代表模拟预定酒店这步失败)。StartExecution是一个异步API,调用结束后,Serverless工作流会返回一个执行名字用来查询流程执行状态。
流程执行开始后,在Serverless工作流控制台可以查看流程的执行过程和结果。从步骤信息页签您可以看到,由于"reserve_hotel_result":"fail"和ReserveHotel函数调用失败,Serverless工作流按照流程定义,依次取消航班(CancelFlight)、取消火车票(CancelTrainTicket)。Serverless工作流每个步骤转换有持久化的保证,因此网络中断或进程崩溃等失败场景不会影响流程事务性的保证。
流程执行会产生执行历史事件(event),这些事件可以通过控制台、SDK或CLI调用GetExecutionHistory API查询。
错误处理和重试
上面示例中的预定航班、预定酒店等远程调用都有可能受到网络或服务错误等原因导致调用失败,而增加对瞬时错误的重试可以提高订单流程成功率。Serverless工作流在任务(Task)类型的步骤(Step)自带重试功能,如预定酒店这个步骤用下面的写法可以实现对FC.Unknown类型的错误指数退避。假设重试到达最大次数后ReserveHotel都无法成功,按照该步骤中catch的定义,ReserveHotel函数抛出的FC.Unknown错误会被捕获并将跳转到CancelFlight执行定义好的补偿逻辑。

温馨提示:尊敬的[]站点管理员,将本页链接加入您的网站友情链接,下次可以快速来到这里更新您的站点信息哦!每天更新您的[阿里云账号注册,阿里云服务器购买,24h自助充值]站点信息,可以排到首页最前端的位置,让更多人看到您站点的信息哦。

麻烦您将正面的代码插入您网页中,让网友帮您更新网站每日SEO综合情况

  • 清华大学烟台研修班学费 -

    阿里云国际开户代充值 清华大学烟台研修班学费是学院直属,在2008年7月开课,主要由知名院系主任徐友做出,学校于2012年招生及课程进修班的有关事宜。 咨询人员可到黄葵东,记者姜庄

  • 马来西亚免联考硕士 -

    gigsgigscloud测试ip 马来西亚免联考硕士在职研究生,韩国大学毕业、二流币同等学力,毕业后在就业时应详细介绍:1、热爱祖国,愿意为祖国的社会主义建设服务,3、德才兼备的高层次的军事

  • vi设计公司哪家好_vi设计公司哪家好,专业的服务 -

    房产律师 哪家vi设计公司好? 在如今竞争激烈的市场环境中,对于企业来说,品牌形象至关重要。而一个企业的品牌形象离不开一个专业的vi设计公司。那么,在众多的vi设计公司中,

  • ZJ-XK2014龙门加工中心 -

    第一部分:结构特点: ●1、底座、工作台、立柱、横梁、滑座、主轴箱等主要基础件采用HT300铸铁,箱体式结构,紧凑而合理的对称式筋结构保证了基础件的高刚性和抗弯减震性能;基

  • “对于NV来讲,RTX 2000系列显卡不受玩家的待见,听起来多少有些难受” -

    tilekeonhacai 【科技在线】 对nv来说,rtx 2000系列显卡不触及玩家的眼睛,听起来有点难受。 v公司于年8月发布了steam的硬件调查,其中n卡继续主宰gpu市场,达到73%的占有率,但具体来说,

  • “富途证券:当高增长不再,保险股该如何看?” -

    MT5出租 MT5破解版 万峰,现任本保险董事长,有36年领域经验,完善和经历中国保险业的兴起过程。 最近,他对本保险乃至保险业的言辞,引起了资本市场的强烈反应。 本保险a股股价暴