编排引擎的工作原理[关闭]

Posted

技术标签:

【中文标题】编排引擎的工作原理[关闭]【英文标题】:How an orchestration engine works [closed] 【发布时间】:2013-08-25 01:48:44 【问题描述】:

我有几个关于这个话题的问题。例如,我发现了很多类似的论文 “走向语义 Web 服务的动态编排” “复合 Web 服务的去中心化编排” 等等……但在实践中,我只发现了与 Bitztalk 或 ESB 相关的编排(我的意思是大型软件程序员)。

是否可以自己开发和编排语言? 开发编排引擎的最佳方法是什么?

【问题讨论】:

尝试开发编排引擎的最佳方法是什么?你想要一个编排引擎做什么?是为了学术目的吗?你只是想学习编排,掌握它的窍门吗?还是您认为手头有需要编排的任务?看,家庭用户很少需要,因此没有家庭解决方案。但是人们总是可以从头开始编写一种解决方案。取决于你想要完成什么。如果你想瘦,我们可以帮你写一个。如果您需要一台用于工作,我们可以帮助您设置一台。你必须是你知道的更具体一点。请。 好点:Q1:编排引擎的主要用途是什么? Q2:如果我需要写一个,那么婴儿步骤是什么?谢谢 【参考方案1】:

也许关于编排的目的和应用的最佳信息来源是您引用的论文本身。

背景

我们在 Firefox 上浏览网页,在 Microsoft Office 上输入文档。这些是集中式应用程序。这些类型的软件可以在一个地方放置和工作。它们在您的计算机上运行,​​它们在我的计算机上运行。

您去超市取货,然后从众多收银台结账。每个办公桌的每个职员都有自己的条形码扫描仪和自己的刷卡器。这些柜台上的每个收银机都与某处密室中的一台服务器相连。在这种设置中,计费软件分布在店员的柜台上,但整个应用程序仍然是集中式的。服务器管理库存并记录销售额。它是中心化中心

然后你写一封电子邮件并发送它。假设您从 Gmail 帐户向我的 Hotmail 帐户发送电子邮件。有Gmail的服务器,也有Hotmail的服务器。有两个中心,而不仅仅是一个。现在事情不再是中心化的——我们有一个分布式系统。在这里,一个中心的失败不会削弱整个系统。如果 Hotmail 出现故障,Gmail 仍然存在。

与其从当地超市购买,不如从网上商店购买。说 eBay 或亚马逊。在这个例子中,有 eBay 的服务器,也有 eBay 的供应商。供应商在他们自己的服务器上管理他们自己的库存,而不是在 eBay 的服务器上。还有快递公司将包裹送到买家手中。买家也有自己的服务器。买家通过万事达卡进行在线支付,这是另一个单独的服务器。现在我们谈论的是一个非常大的分布式系统。

目的

现在您正在进行在线购买,很多事情即将发生,这需要的不仅仅是一堆服务器。必须有一个主 puppeteer 在这些服务器之间同步活动。必须扣除一个帐户。必须发送一封电子邮件。必须通知仓库。需要安排快递。谁控制了这种错综复杂的舞蹈?这是您的协调器。

应用

大多数情况下,有许多不同且独立的服务器,每个服务器由不同的实体拥有。然而,当所有这些实体需要协同工作以创建业务流程,即“用户交互会话”时,我们需要编排。

一组服务器之间的活动编排是通过 master-puppeteer 服务器实现的。实际上,编排器本身就是一组服务器。因此,一组服务器引导另一组服务器。第二组服务器是完成实际工作的地方。正在发送电子邮件。正在压缩图像。地址正在排序,等等。第一组服务器(编排器)确保事情按照它们需要发生的顺序发生。

实施

一个答案:排队。开始整个故事的一项活动是尝试进行在线购买。从那里,你所做的点击,你发送的命令,都在这些编排服务器中排队。像purchase-this-itemmake-a-payment 然后payment-received 这样的命令都在排队,然后一个接一个地处理。

编排系统在一个线程上接受这些命令,而在不同的线程上,编排服务器将它们异步分派到各自的工作服务器。因此purchase-this-item 命令被分派到 eBay 的服务器,而make-a-payment 命令被分派到 MasterCard 的服务器。

工作服务器可能会产生更多命令。 MasterCard 服务器在验证您的卡号后,可能会决定向您发送 SMS。所以它将send-sms 命令添加到队列中。该命令被分派到例如 Vodaphone 服务器。

这种排队和调度逻辑称为“编排引擎”。从那里开始,事情可能会变得复杂。 Vodaphone 服务器可能处于脱机状态。万事达卡可能会拒绝该卡。仓库服务器可能会返回 out-of-stock 响应。然后需要将该响应路由到 eBay 的服务器,该服务器可以将 purchase 命令重新排队到某个不同的仓库。有服务器崩溃。磁盘故障。停电等等。

终于

编排是为了确保这么多不同的组件,分布在地理上,在不同的时间点,有些是并行的,有些是错误的,有些是缓慢的,有些是恶意的,有些是非法的,......你是通过互联网购买的该死的耳机。

【讨论】:

...你想要各种各样的编排器... hah 你应该得到奖牌

以上是关于编排引擎的工作原理[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

K8S架构原理及其工作流程

javascript引擎工作原理

搜索引擎原理

javascript引擎工作原理

搜索引擎工作原理

mysql工作原理和存储引擎