分布式调度,分布式事务,分布式执行计划

一.问题描述

最近在做分布式调度系统,用于把全网流量,在两个机房之间切换,切换时间控制在5分钟内。

在做调度系统中,需要涉及到dns,高防,接入层集群,应用层集群,中间层集群,消息系统集群,数据库集群,缓存集群,ES集群,CICD,监控等等。

为了保证切流成功。采用两个策略:1.各层级切流各自独立,互不干扰。2.统一调度集中统一。

现在就讲讲统一调度。

统一调度,需要再发指令 调度下级个层级集群 完成流量切换。有一个问题,如何做到高效、快速、精准、一致。

最好的结果是各层级切流都成功,或都失败。

最坏的结果是部分成功、部分失败、并且在很长的时间内,不知道哪些成功哪些失败。完全失控。

二.问题分析

所以,这 是一个分布式系统一致性问题。CAP+Latency。

这里不想展开。立刻想到类似的问题和解决思路:

1.分布式事务。交易场景在大规模多微服务系统之间完成一笔交易。也涉及到该问题。解决方式如 TCC。

2.分布式执行计划。spark 如何生成执行计划,将转换算子,执行算子,宽/窄依赖,shuffle&stage 做成一致高效的分布式执行计划,才可充分利用多个node,加快加速完成计算任务。spark的执行计划是 从转换算子,分解到执行算子,再汇总出依赖图,再回报给解析器。可以理解为 从根节点,到叶子节点,再回传到根节点。

三.问题解决。

1.我们的系统,也应该在统一调度发指令之后,先prepare,再commit,再rollback。或者如TCC  try confirm cancel。在prepare阶段,要获得各下级调度系统的执行计划。

所以我们设计,应该融合执行计划和分布式事务。只有这样才能做到高效、快速、精准、一致 的完成分布式切换。

1.1 prepare +explain。统一调度系统下发指令,各二级调度系统 做好prepare,并上报 自己的执行计划。(为了精准、一致)

1.2 commit。统一调度系统,确认出各层级模块,都做好了准备,那么让大家提交。(为了快速)

1.3 rollback。如果有二级模块异常,直接回滚全部。(为了一致)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
概要介绍:本门课程属于“Java分布式中间件大汇聚实战”系列课程,主要介绍了企业级项目中真实的应用场景的实现及主流的Java核心技术栈(Redis、RabbitMQ、Spring AOP、Redisson、ZooKeeper…)的实战等等。除此之外,还介绍了如何基于Redis设计并实战一款点赞系统(点赞、取消点赞、排行榜、用户中心、文章点赞用户列表…)可以说技术干货甚多,不仅可以巩固企业级应用系统的开发实战能力,相信在面试、跳槽涨薪方面也能带来相应的帮助!课程内容:传说中的金三银四、面试跳槽涨薪季已经来临,Debug特地为大家准备了一系列跟面试、跳槽、巩固核心技术栈相关的课程,本门课程属于第一季,其中的内容包括企业级项目中真实的应用场景实战、面试相关的技术点分享、主流的Java技术栈(Undertow、Redis、RabbitMQ、Spring AOP、Redisson、ZooKeeper…)实战等等。除此之外,我们还基于Redis设计并实战了一款点赞系统,可以说技术干货甚多。在课程的最后,Debug给大家整理了一份最新的面向BAT大厂招聘 ~ 2020年程序猿最新的Java面试题(附带目录和答案),希望对各位小伙伴的成长有所帮助!值得一提的是,本季课程实战的应用场景包括“日志记录”、“邮件发送”、“通告消息通知”、“短信验证码失效验证”、“会员到期自动提醒/到期前N天自动提醒”以及“点赞系统”的设计与实战,其大纲如下所示:其中,涉及到的技术栈包括Spring Boot2.0、Mybatis、Undertow、Redis、RabbitMQ、Redisson、Spring AOP、 Java8…下面罗列出本门课程重点介绍的价格应用案例以及业务场景的实现流程图!(1)基于Spring的消息驱动模型实现日志的异步记录:(2)基于消息中间件RabbitMQ的消息队列实现日志的异步记录:(3)基于缓存中间件Redis的订阅发布机制实现商户公告消息通知:(4)基于Redis的Key失效与定时任务实现实现短信验证码的过期失效验证:其他核心、典型的应用案例和业务场景的实战可以详细参考“课程目录”!除此之外,我们还基于缓存中间件Redis设计并实战实现了点赞系统中的点赞功能模块,下面罗列出其中涉及到的相关功能模块的实战流程图:其课程收益如下所示:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值