8

我正在创建一个应用程序来测试不同 RabbitMQ 客户端之间的性能。
其中之一应该是 SQL Server。
我发现存在用于 SQL Server Integration Services (SSIS) 的 RabbitMQ 组件。
但似乎尚未编写可以将消息发送到交换的目标组件。
任何想法如何执行?
是否应该与向 MSMQ 发布消息类似?

4

3 回答 3

5

您可以创建一个 SQLClr 来与 RabbitMQ 通信,就像在这篇文章中一样。

我不相信这是一个很好的解决方案,但它似乎有效。

于 2017-03-07T13:26:13.940 回答
5

简短免责声明:我知道问题的标题,但根据您在评论中写的内容(当然还有问题本身),您似乎需要一个能够发送和接收的 RabbitMQ 客户端许多消息。

你不需要写任何东西,RabbitMQ 已经有了。您可以在这里找到它,它是一个名为PerfTest的 java 客户端(在链接中也有示例,但当然可以使用 运行它--help)并且(顾名思义)它用于性能测试。您可以定义消费者、生产者、消息的数量、消息的大小等。我已经使用过它并且仍然偶尔使用它并且效果很好。由于您(我假设)是 RabbitMQ 的新手,因此只需改变传递 amqp uri 参数的方式(这里是规范)。

于 2016-03-02T22:11:26.147 回答
1

最好的办法是使用安装在 SQL 机器上的命令行工具 rabbitmqadmin。然后您可以使用 xp_cmdshell 将消息发送到队列中。

https://www.rabbitmq.com/management-cli.html

DECLARE @Cmd VARCHAR(2000)
SET @Cmd = 'rabbitmqadmin publish exchange=amq.default routing_key=test payload="hello, world"'
EXEC [sys].[xp_cmdshell] @Cmd
于 2019-02-14T22:08:00.620 回答