Redis 从各大洲最近的副本读取。 (C# / .Net)

问题描述 投票:0回答:1

我想在各大洲托管多个redis,1个欧洲,1个美洲,1个亚洲等。 主服务器将在美国。

现在,我的问题是: 我也有分布在这些大陆的网络 API。欧洲 1 个 Web API、美国 1 个 Web API 等... 如果我想从欧洲在缓存中写入一些内容,它将从美国发送到主服务器(因此这将花费很多时间,但不是问题),但如果我想读取某些内容,我需要获取最近的副本并读取。有没有自动实现的功能? 我应该配置每个 Web API 以了解从哪里获取数据吗?

示例:配置中的 WebAPI-Europe:“GetCacheFrom”:“ip_of_replica_from_europe” 示例:配置中的 WebAPI-Africa:“GetCacheFrom”:“ip_of_replica_from_africa”,

但是故障转移呢?

感谢您的宝贵时间。

c# .net asp.net-web-api redis stackexchange.redis
1个回答
0
投票

没有关于服务器的可用地理数据,并且 IP 地址通常是私有的(VPN 等),因此:同样,没有地理。也许这里明智的做法是库作者(我自己和其他人)投入一些时间进行延迟测量,并以此为基础进行优先级排序 - 听起来很有用。但今天:对于普通 SE.Redis,您唯一的选择是仅提供最本地的副本地址,但请注意,这不适用于“集群”组,因为它们会通告其他 IP 地址,并且库会以这种方式发现它们.

© www.soinside.com 2019 - 2024. All rights reserved.