- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开始使用 Spring Dataflow,我发现自己遇到了一些无法回答的问题,阅读了文档并做了一些测试。欢迎任何澄清(如果您不能一次回答所有问题,请回答您可以回答的问题,如果需要,我会合并完整的答案)
Spring Dataflow 旨在编写应用程序工作流,例如:app A
的输出是 app B
的输入,依此类推。工作流不需要是线性的,因为app A
的输出可能是app B
和app C
的输入。 准确吗?
流管道中的应用程序以“消息驱动”的方式进行通信,这写得很好。 App A
向代理发送消息(例如 RabbitMQ 或 Kafka),app B
使用其中的消息。我们的流程中可以有多个不同的经纪人。但消息传递是在应用程序之间发送信息的唯一方式吗? 例如,应用程序 A
是否有可能通过 HTTP REST 请求调用应用程序 B
?如果是这样,怎么办?
由于应用程序依赖于异步消息传递(请参见上面的问题),因此数据流的附加值(value)是什么?我的意思是,如果您将 app A
配置为将消息发送到 foo
主题,并配置 app B
来使用来自同一主题的消息,那么您可以单独部署两者(没有数据流),并且它会起作用。据我了解,Dataflow仅提供了一种一次性部署和取消部署它们的方法,而不是一个一个地部署和取消部署它们。 正确吗?
与上一个问题一样,异步消息传递使您无需定义流程顺序(即您可以在 app A
之前启动 app B
)。整个系统只有在两个应用程序都启动时才能工作,但它们甚至不需要互相了解。唯一需要的是他们使用相同的代理和主题,一个用于发送消息,另一个用于获取消息。那么,为什么在 Spring Cloud Dataflow 中绝对需要将一个应用程序的输出链接到另一个应用程序的输入呢?这是强制两个应用程序使用相同主题的方法,但这就是全部吗?
最佳答案
Spring Dataflow is meant to write applicative workflows
Spring Cloud Data Flow (SCDF) 是一种编排服务,可让您将微服务应用程序组成一个连贯的管道。今天接受的应用程序基于 Spring Cloud Stream (SCSt) 或 Spring Cloud Task (SCT) 编程模型,因此您可以分别编排流式传输和任务/批处理管道。根据要求,您可以实现线性或复杂的 DAG 类型工作流程。
But is the messaging the only way to send information between applications ?
现在,是的。 SCSt 提供的当前绑定(bind)器抽象支持消息传递 channel ,我们正在推广绑定(bind)模型。下一代正在演进,同时添加对 KStream 作为输入/输出以及 Reactor 的 Flux 作为输入/输出的支持。我们尚不支持 RESTful 绑定(bind)机制。
Since applications rely on asynchronous messaging (see above question), what is the Dataflow's added value ?
您可以编排单独的 SCSt/SCT 应用程序。独立应用程序包括“绑定(bind)器连接信息”、“ channel 绑定(bind)目标”等属性 - 您需要提供它们。一旦您有分区和缩放等要求,您就必须记录更多这些应用程序属性。这就是 SCDF 的编排层增加值(value)的地方。除了可用于更快地创建流/批处理管道的 DSL、REST-API、Dashboard/Flo 之外,SCDF 还可以自动创建这些已知属性,以使用定义明确的命名约定连接应用程序。
Dataflow only provides a way to deploy and undeploy them all at once, rather than one by one. Is that correct ?
如果您部署带有一组应用程序的流,SCDF 会按顺序部署它们。您可以取消部署、销毁和查询由应用程序组成的流的聚合状态。并且,对于任务,您可以启动、销毁和查询执行状态等。
why do you absolutely need to link one application's output to another one's input, in Spring Cloud Dataflow ?
这个不清楚。对于流处理,您在 SCDF 上下文中至少需要 2 个应用(源和接收器)。但是,您可以构建 aggregate application使用 SCSt 并将聚合(源、处理器(s)和接收器)编排为一个单元。
关于Spring Dataflow 概念澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40997166/
在此链接中:http://www.sencha.com/blog/spotlight-ext-js-customers/ 请滚动到部分:为什么我们选择 Ext JS 有这一行: By using Ex
只是想确保我正确理解这一点(我会在 SO Chat 上问,但它已经死在那里了!): 我们有一个顶点数组,我们通过绑定(bind)它使其成为“当前” 然后我们有一个缓冲区,我们将其绑定(bind)到目标
我正在学习与 Java Swing 一起使用的类(class),但我遇到了障碍。在这个项目中,我们正在为不同的组件设置大小,但是,导师特意敲了一行我不太理解的代码,我只是在寻找这行代码概念的解释。 基
所以我尝试创建一个 HttpsRequest,效果非常好。问题是,我做错了什么,我认为这可能是因为我使用 HttpResponse,但我没有找到任何与 Https 类似的东西。有没有一种方法可以像 h
我正在阅读 Martin Fowler 的“UML distilled”,在阅读关联类的过程中,我得到了这句话: What benefit do you gain with the associati
我只是询问此说明: String[][] s = new String[2][2]; 如果我创建这个变量“s”,我会创建一个包含 2 行和 2 列的字符串表吗?或者 2 个表有 2 个元素?感谢您的澄
我目前正在做的事情需要为世界各地的用户提供本地化时间。所有日期时间都存储为 UTC,因此转换它们非常容易,并且我们有一个已知的、安全的引用点等等。 但是,关于如何表达偏移量的一些事情让我摸不着头脑。
我开始学习 spring,我遇到了一个定义,它说“Spring 使开发人员能够在没有应用程序服务器的情况下进行企业开发”。 这到底是什么意思,使用应用服务器进行企业开发有什么危害。 但是开发者在进行企
我是 AngularJS 的新手,对如何设置 angularJS 进行开发感到困惑。 Link1 link1 说我们需要 node.js 和一系列其他工具,这些工具必须在使用 AngularJS 之前
我是 iPhone 和 iPad 应用程序的开发者。 我的一个应用程序是在线个人财务管理工具的配套应用程序,该工具通过网站提供其服务和功能。这些功能的一部分将通过我正在创建的原生 iOS 应用程序提供
我正在研究飞行模拟器。我读过一篇关于四元数的教程(这个:http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-17-quater
抱歉,如果这是一个微不足道的问题: 实现 1: class Foo { protected: int bar; public: Foo(int bar) {
作为 C 中实现定义行为的示例。C 标准规定数据类型的大小是实现定义的。因此,假设 sizeof(int) 是实现定义的。 此实现定义的行为是否意味着 size(int) 依赖于平台或由编译器供应商定
从理论上讲,inline 函数在 C 语言中具有内部/静态链接,也就是说,它们仅在单个翻译单元内可见。因此,在两个单独的文件中定义的内联函数应该无法相互看到,并且两者都有自己的地址空间。 我正在尝试使
对于神童来说,这可能是一个非常基本的问题。但我对处理它有疑问。 在转换期间我们使用: int.Parse(someThing) Convert.ToInt32 或 Convert.ToString()
这个问题在这里已经有了答案: Regarding Android Permissions and Signature Protection level (2 个答案) 关闭 8 年前。 由于我是An
我有这个功能: 函数 Foo(){} 根据这张图片: >> Foo.prototype -> Foo {} 所以如果我写: Foo.prototype.constructor 现在 - 它引
我读了this article关于 Task.ConfigureAwait,它有助于防止异步代码中的死锁。 看看这段代码:(我知道我不应该做 .Result ,但这是问题的一部分) private v
我正在学习 C#。我可以将闭包理解为一种可以适应其定义环境中的变化的结构吗。 示例: List gurus = new List() {
这个问题在这里已经有了答案: Difference between volatile and synchronized in Java (4 个回答) 关闭6年前。 我对我读到的关于 volatile
我是一名优秀的程序员,十分优秀!