美文网首页
跨网络域分布式任务解决

跨网络域分布式任务解决

作者: 李不言被占用了 | 来源:发表于2018-10-18 11:18 被阅读24次

问题引出

让我们先回到一年级,那个时候虽然我们是熊孩子,可是老师总有办法骗我们,让我们乖乖地搞卫生!假设这样一种场景:老师发了一个任务清单如下:

搞卫生任务:
  扫地:张三
  拖地:李四
  洗厕所:王五  #  嗯,看起来王五有点惨

显然每个人都知道自己要干什么事情。

如果老师给你的任务清单是这样的:

搞卫生任务:
  扫地:A
  拖地:A
  洗厕所: B

请问王五同学,你知道洗厕所的人是你吗?显然你还懵逼中:谁是A谁是B啊?每个人都不希望自己是B。

但是如果老师给出的是这样的清单:
发给李四的是这样的:

你是A
搞卫生任务:
  扫地:A
  拖地:A
  洗厕所: B

发给王五的是这样的:

你是B
搞卫生任务:
  扫地:A
  拖地:A
  洗厕所: B

那显然李四知道自己要扫地、拖地,王五知道,洗厕所那个悲剧是自己。

背景

业务系统划分了网络域,不同域之间网络可能不互通,如图所示:


简单网络域示意

说明: A与B之间不能互通。

问题

现在的业务场景是这样的,需要在A和B两个域部署应用,负责将这两个域的文件下载并上传到C域中。希望a1和a2接收参数时能知道去哪个域下载文件。配置如下:

a.todoList:
  downloadPath1:xxx
  downloadPath2:xxx
  downloadPath3:xxx

由于a1和a2是同一套代码,它们都是无状态的,他们的任务配置都来自于调度引擎,你让我干嘛我就干嘛。他们都会解析a.todoList里的所有downloadPath*。假设downloadPath1和downloadPath2在A域,downloadPath3在B域,显然a1在下载downloadPath3的时候会出错。

现在的问题就是,怎样保证a1/a2只会处理a.todoList里特定的downloadPath(因为他们是一样的代码,他们都会处理a.todoList这个配置)。

解决方案

回到现实中的例子,如果我告诉了a1:你在A域,你要处理downloadPath1和downloadPath2;告诉a2:你在B域,你要处理downloadPath3。显然就不会出现上面的问题了

于是乎有了这样一份配置:

a.todoList:
  zoneA:
    downloadPath1:xxx
    downloadPath2:xxx
  zoneB:
    downloadPath3:xxx

这样,我让a1就知道处理zoneA里面的downloadPath1和downloadPath2,a2就只会处理zoneB里面的downloadPath3。

总结

系统建设过程中看似复杂的问题,其实都能找到很多解决方案,而这些解决方案可能就来源于生活,总有一款适合你!

本文地址,转载请说明,喜欢请点赞

相关文章

  • 跨网络域分布式任务解决

    问题引出 让我们先回到一年级,那个时候虽然我们是熊孩子,可是老师总有办法骗我们,让我们乖乖地搞卫生!假设这样一种场...

  • 浏览器跨域的那些事

    整理中 目标: 了解跨域 解决跨域 服务器配置跨域(java, nginx) 前端调试时配置解决跨域 一、什么是跨...

  • 解决ajax跨域问题

    Jsonp解决ajax跨域问题 CORS解决ajax跨域问题

  • 浏览器跨域及其解决方案

    title: 浏览器跨域及其解决方案author: Maydate: 20220428 什么是跨域跨域的表现解决跨...

  • ajax readystatus=0;status=0 报错

    跨域 跨域 跨域 一定要找运维或者后台解决

  • 跨域解决方案

    在讲解决跨域解决方案之前,我们需要了解什么是跨域,在什么情况下会跨域,跨域解决的是什么问题? 一、跨域,是指浏览器...

  • 跨域

    什么是跨域?怎么解决跨域问题?

  • 深入跨域问题(3) - 利用 JSONP 解决跨域

    深入跨域问题(1) - 初识 CORS 跨域资源共享;深入跨域问题(2) - 利用 CORS 解决跨域深入跨域问题...

  • 跨域

    跨域资源共享 CORS 详解什么是跨域及怎么解决跨域问题?

  • 跨域问题,解决方案

    跨域问题,解决方案 - Nginx反向代理跨域问题,解决方案 - CORS方案此为原作者的链接:跨域问题,解决之道

网友评论

      本文标题:跨网络域分布式任务解决

      本文链接:https://www.haomeiwen.com/subject/weqjzftx.html