gpt4 book ai didi

c# - ServiceStack:如何使用分布式RedisEvents?

转载 作者:可可西里 更新时间:2023-11-01 10:53:42 26 4
gpt4 key购买 nike

关于分布式 RedisEvents 如何在 ServiceStack 中工作的文档(我发现的)很少。

文档说:

One limitation the default MemoryServerEvents implementation has is being limited for use within a single App Server where all client connections are maintained. This is no longer a limitation with the new Redis ServerEvents back-end which utilizes a distributed redis-server back-end to provide a scale-out option capable of serving fan-out/load-balanced App Servers. If you’re familiar with SignalR, this is akin to SignalR’s scaleout with Redis back-end.

它还说明了如何添加插件,但是没有其他关于事件如何分发、如何发布分布式事件以及如何处理哪个节点对其作出 react 并发布到将到达的 channel 的信息正确的终端客户。

我是不是遗漏了什么或者几乎没有相关文档?

最佳答案

RedisServerEvents 的文档位于:http://docs.servicestack.net/redis-server-events

使用 In Memory 或 Redis Server Events 后端在 API 上没有区别,它们在 IServerEvents API 后面透明地工作。唯一的区别在于注册,您需要使用配置的 IRedisClientsManager 注册 RedisServerEvents:

var redisHost = AppSettings.GetString("RedisHost");
if (redisHost != null)
{
container.Register<IRedisClientsManager>(
new RedisManagerPool(redisHost));

container.Register<IServerEvents>(c =>
new RedisServerEvents(c.Resolve<IRedisClientsManager>()));

container.Resolve<IServerEvents>().Start();
}

这将默认内存 IServerEvents 替换为 RedisServerEvents 实现,该实现通过 Redis Pub/Sub 发送 API 调用以通知配置有相同 RedisServerEvents 将服务器事件发送到其本地 /event-stream 上连接的客户端的配置。

关于c# - ServiceStack:如何使用分布式RedisEvents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49205960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com