我想澄清一下我是否正确理解servicestack.server的功能。
在本页中,将描述servicestack.serverapi,并声明
创建一个redismq服务器,在其自己的后台线程上处理每条消息
如果我假设这是一个独立的redis服务器,那么如果我用下面的代码开始,我运行的是一个成熟的redis服务器,也就是说,不需要安装redis软件,或者memurai之类的东西,对吗?
因为,如果我遵循这个示例,并且没有其他正在运行的redis服务器,那么
'无法建立连接,因为目标计算机主动拒绝了它。127.0.0.1:6379'
这条线
var redisFactory = new PooledRedisClientManager("localhost:6379");
启动客户端并尝试连接到6379,但自然失败。这个 redisFactory
然后在创建mqserver的行中使用,这对我来说很奇怪:
var mqHost = new RedisMqServer(redisFactory, retryCount: 2);
如果这是一个独立的mq服务器,那么在创建和启动服务器之前创建一个客户机是行不通的,这让我觉得这不是redis mq服务器?
1条答案
按热度按时间nzkunb0c1#
当我假设这是一个独立的redis服务器时,我说的对吗
这是一个错误的结论,redis服务器是一个分布式内存数据结构服务器,它和其他分布式服务器(如rdbms或mq代理)一样,运行在自己独立的网络进程中。
所有servicestack redis库都连接到一个redis服务器,redis mq就像所有其他分布式servicestack mq提供程序一样处理发送到代理的消息,在这种情况下redis mq使用redis服务器作为其代理。声明:
创建一个redismq服务器,在其自己的后台线程上处理每条消息
解释redis mq如何处理它接收的消息,其中每个不同的消息类型(即请求dto类型)在其自己的后台线程中处理消息。