当前位置: 首页 > 知识库问答 >
问题:

Spring Cloud Stream路由器Sink——然后呢?

胥诚
2023-03-14

我已经创建了一个Spring Cloud数据流,它使用Spring Cloud Stream starter应用程序中的router sink应用程序。我使用的是带有RabbitMQ绑定的。这会自动使用我的路由器表达式的结果创建RabbitMQ交换(类型:topic)。我认为下一步是为每个路由器结果创建新的数据流。但是,rabbit source starter应用程序只能配置为从队列中读取。当然,我可以手动创建队列并将其绑定到自动创建的交换,但这就是我应该做的吗?或者我是否缺少一些配置,这些配置会导致自动创建和绑定队列?

共有2个答案

严亮
2023-03-14

每次创建作为目标侦听器的源应用时,默认情况下,将使用绑定器的目标预配器为您自动创建该目标。因此,本质上,您在生产者应用之前创建消费者应用,以确保这些目的地在消息发送到此类目的地之前存在。在自动为您完成的数据流中,应用的“从右到左”启动顺序,以确保消费者在生产者之前启动。

这就是你要问的吗?

敖子安
2023-03-14

Rabbit源应用程序旨在使用现有基础设施-队列必须已经存在(类似于接收器)。

要使用数据流从动态创建的目的地消费,您可以使用命名目的地。

stream create fromDynDest --definition=":myRoutedDest > process1 | process2 | sink"

甚至

stream create fromDynDest --definition=":myRoutedDest > sink"
 类似资料:
  • anu可以完美与react-router搭配使用。 但强烈建议使用reach router, 这个比react router更好用。 anujs也对它进行改造,让它支持IE8的hashchange reach的官网 https://reach.tech/router resolve: { alias: { react: "anujs", "react-dom":

  • 添加一个自定义的路由器 $prepend = false; Swoole::$php->addRouter(new App\MyRouter, $prepend); 第一个参数为路由器对象,必须实现Swoole\IFace\Router接口 第二个参数如果为true,表示添加到路由表的起始位置,默认为false,表示追加到末尾 底层默认添加了2个路由器Swoole\Router\Rewrite和

  • 路由闭包 绝不 在路由配置文件里书写『闭包路由』或者其他业务逻辑代码,因为一旦使用将无法使用 路由缓存 。 路由器要保持干净整洁,绝不 放置除路由配置以外的其他程序逻辑。 Restful 路由 必须 优先使用 Restful 路由,配合资源控制器使用,见 文档。 超出 Restful 路由的,应该 模仿上图的方式来定义路由。 resource 方法正确使用 一般资源路由定义: Route::res

  • Faygo路由器由 MuxAPI API信息与 httprouter 路由两层构成。这样既满足记录详细API信息的需求,又能够保持真实路由的高性能。 MuxAPI API信息层: 属于预注册路由,对外提供无限层级的路由注册功能,支持树状与链状两种注册形式 记录全部API信息,如请求方法、请求路径、请求参数、API名称、API注意事项、API响应说明、操作链(Handler与Middleware)等

  • 是否可以将用户重定向到Laravel中的POST路由。我有两张表格。表格一发送到包含表格二的路线,表格二发送到最终路线,然后进行验证。如果

  • 路由器用于路由客户端应用程序并定义应用程序对象的URL表示。 当Web应用程序为应用程序中的重要位置提供可链接,可收藏且可共享的URL时,需要路由器。 下表列出了可用于操作BackboneJS - Router - S.No. 方法和描述 1 extend 它扩展了主干的路由器类。 2 routes 它定义了应用程序对象的URL表示。 3 initialize 它为路由器实例化创建了一个新的构造函