【问题标题】:Spring XD stream and job persistenceSpring XD 流和作业持久化
【发布时间】:2015-06-23 04:38:22
【问题描述】:

我对 Spring XD 非常陌生,并且使用 xd-singlenode 在本地运行 Spring XD。我创建了一些流和水龙头。我想知道以下内容:

  1. 如何将流和作业定义持久保存到数据库中,以便在重新启动服务器时无需重新创建它们(对于本地和分布式模式)。

  2. 我应该如何实现 pub-sub 机制以使用 Spring XD 向请求者发送大量二进制/文本数据。

谢谢!

【问题讨论】:

  • 你应该分开你的问题。我认为第一个问题已经得到解答,第二个问题必须得到更详细的解释,值得自己发一篇文章。

标签: spring-integration spring-xd


【解决方案1】:

对于第一个请求,您需要使用单独的 ZooKeeper 服务器(当您在单节点模式下启动 XD 时,它会透明地为您创建一个嵌入式 ZooKeeper 服务器。但您可以将它指向一个不同的 ZK,您必须这样做如果您在分布式模式下运行,请执行此操作)。流定义存储在 ZooKeeper 中,因此它们可以在 Spring XD 服务器重新启动后继续存在。 ZooKeeper 的典型设置是使用端口 2181,因此您可以像这样 (*nix) 启动 XD 单节点:

ZK_CLIENT_CONNECT=localhost:2181 ./bin/xd-singlenode

(或者你可以编辑你的servers.yml文件,寻找zk.client.connect键)

关于你的第二个问题,我不确定我是否理解。欢迎澄清

【讨论】:

  • 谢谢!第二个用例说,请求者必须注册到一个主题才能通过 spring XD 从 hdfs 获取大型二进制数据。如何在 xd 中配置 public-subscribe 机制,以及如何通过 spring xd 将大量二进制数据通过网络传输给请求者。
【解决方案2】:

当您使用单节点时,流和作业不是持久的,您可以通过启动以下服务器来使用分布式节点: 1.Redis 2.hsqldb 3. 容器 4. 管理员

这样您就不需要每次都重新创建您的流和作业。

莫哈。

【讨论】:

    猜你喜欢
    • 2020-02-23
    • 2016-03-26
    • 1970-01-01
    • 2023-03-16
    • 2015-12-05
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多