我想澄清一下我是否正确理解了ServiceStack.Server功能。
在此页面上,描述了ServiceStack.Server API,并指出:
创建一个Redis MQ服务器,在其自己的后台线程上处理每个消息
当我以为这是一台独立的Redis服务器时是否正确?因此,如果我使用下面的代码启动它,则我正在运行一台功能齐全的Redis服务器,这意味着无需安装Redis软件或Memurai等。
因为,如果我遵循此示例,并且没有其他正在运行的Redis服务器,则会得到
‘由于目标机器主动拒绝连接,因此无法建立连接。127.0.0.1:6379’
这条线
var redisFactory = new PooledRedisClientManager("localhost:6379");
启动客户端并尝试连接到6379,自然失败。在redisFactory然后在线路创建MQSERVER,这是奇数我使用:
redisFactory
var mqHost = new RedisMqServer(redisFactory, retryCount: 2);
如果这是一个独立的MQ服务器,那么在创建和启动服务器之前创建客户端将无法正常工作,这使我认为这不是Redis MQ服务器吗?
我当时以为这是一台独立的Redis服务器时是否正确?
这是一个不正确的结论,Redis Server是分布式内存数据结构服务器,就像其他分布式服务器(如RDBMS或MQ Broker)一样,它在其自己的隔离网络进程中运行。
所有ServiceStack Redis库都连接到Redis服务器,Redis MQ类似于所有其他分布式ServiceStack MQ提供程序,它们处理发送到代理的消息,在这种情况下,Redis MQ使用Redis Server作为其代理。该声明:
说明Redis MQ如何处理接收到的消息,其中每种不同的消息类型(即,请求DTO类型)在其自己的后台线程中处理消息。