当前位置: 首页 > 面试题库 >

无法通过StackExchange.Redis重新连接到Azure Redis

邬飞捷
2023-03-14
问题内容

警告 :好的,这很奇怪,我不确定SO是否合适。

我有一个Azure网站连接到Azure Redis缓存实例。(使用StackExchange.Redis)

一切都很好,然后有一天-该网站无法连接到Redis。

错误:

无法连接到Redis服务器。要创建断开的多路复用器,请禁用AbortOnConnectFail。PING上的SocketFailure

这是我的连接字符串:

mycache.redis.cache.windows.net,ssl = true,密码= xxxxxx,syncTimeout = 5000

这是我的诊断步骤:

  1. 尝试从本地连接到Azure Redis。结果:成功(代码好吗?)
  2. 尝试启动新的Azure Redis实例,从Azure连接。结果:失败(网站无法连接到任何Azure Redis实例?)
  3. 启动具有错误代码相同代码的新Azure网站,指向现有的Redis缓存。结果:成功(嗯,什么?)
  4. 归档新的MVC网站,添加StackExchange.Redis,部署到新的Azure网站,连接到Redis。结果:成功(所以Redis好吗?)
  5. 在香草MVC网站上方部署现有的 Azure网站(与4相同的代码,连接到相同的Redis,唯一的区别是它使用的是旧的Azure网站物理计算机/网络)。结果:FAIL(wtf ??)

所以-我认为Redis已将Azure网站“列入黑名单”?(甚至有可能吗?)我知道 客户端
(我的代码)不会尝试保持重新连接,但是我已经多次跳出该站点,并且它无法重新连接到Redis。

通过使用 相同的代码 连接到 相同的Redis实例分解 新的 Azure网站成功的事实告诉我,Azure /
Redis中出现了某种黑名单/路由问题。

有任何想法吗?

编辑

看起来问题出在Azure VNET。当我的网站是Azure虚拟网络的一部分时,它无法连接到Redis。但是,当我将其 网络中 取出
时,它可以正常连接。在今天之前,此设置运行良好。

因此,我想知道Azure是否进行了更改,以使VNET中的网站无法连接到Azure Redis?(我不知道)

编辑2

附件是来自Redis连接尝试的日志。

例外:无法连接到Redis服务器。要创建断开的多路复用器,请禁用AbortOnConnectFail。PING上的SocketFailure
已删除连接字符串 :6380,密码= 已删除密码 ,ssl = True连接 已删除连接字符串 :6380 /交互式…
BeginConnect: 已删除连接字符串 :6380指定了1个唯一的节点请求中断从 连接字符串删除 :6380

__Booksleeve_TieBreak… Allowing endpoints 00:00:05 to respond… Awaiting task completion, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=4,Free=32763,Min=1,Max=32767) Not all tasks completed cleanly, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=5,Free=32762,Min=1,Max=32767) connection-string-removed:6380 did not respond Awaiting task completion, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=5,Free=32762,Min=1,Max=32767) Not all tasks completed cleanly, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=5,Free=32762,Min=1,Max=32767) connection-string-removed:6380 failed to nominate (WaitingForActivation) No masters detected connection-string-removed:6380: Standalone v2.0.0, master; keep-alive: 00:01:00; int: Connecting; sub: Connecting; not in use: DidNotRespond connection-string-removed:6380: int ops=0, qu=2, qs=0, qc=0, wr=0, socks=1; sub ops=0, qu=0, qs=0, qc=0, wr=0, socks=1 Circular op-count snapshot; int: 0 (0.00 ops/s; spans 10s); sub: 0 (0.00 ops/s; spans 10s) Sync timeouts: 0; fire and forget: 0; last heartbeat: -1s ago resetting failing connections to retry… retrying; attempts left: 2… 1 unique nodes specified Requesting tie-break from connection-string-removed:6380 > __Booksleeve_TieBreak… Allowing endpoints 00:00:05 to respond… Awaiting task completion, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=6,Free=32761,Min=1,Max=32767) Not all tasks completed cleanly, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=7,Free=32760,Min=1,Max=32767) connection-string-removed:6380 did not respond Awaiting task completion, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=7,Free=32760,Min=1,Max=32767) Not all tasks completed cleanly, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=7,Free=32760,Min=1,Max=32767) connection-string-removed:6380 failed to nominate (WaitingForActivation) No masters detected connection-string-removed:6380: Standalone v2.0.0, master; keep-alive: 00:01:00; int: Connecting; sub: Connecting; not in use: DidNotRespond connection-string-removed:6380: int ops=0, qu=2, qs=0, qc=0, wr=0, async=3, socks=2; sub ops=0, qu=0, qs=0, qc=0, wr=0, socks=2 Circular op-count snapshot; int: 0 (0.00 ops/s; spans 10s); sub: 0 (0.00 ops/s; spans 10s) Sync timeouts: 0; fire and forget: 0; last heartbeat: -1s ago resetting failing connections to retry… retrying; attempts left: 1… 1 unique nodes specified Requesting tie-break from connection-string-removed:6380 > __Booksleeve_TieBreak… Allowing endpoints 00:00:05 to respond… Awaiting task completion, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=8,Free=32759,Min=1,Max=32767) EndConnect: connection-string-removed:6380 (socket shutdown) Connect complete: connection-string-removed:6380 All tasks completed cleanly, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=11,Free=32756,Min=1,Max=32767) connection-string-removed:6380 faulted: SocketFailure on PING Awaiting task completion, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=11,Free=32756,Min=1,Max=32767) Not all tasks completed cleanly, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=7,Free=32760,Min=1,Max=32767) connection-string-removed:6380 failed to nominate (WaitingForActivation) No masters detected connection-string-removed:6380: Standalone v2.0.0, master; keep-alive: 00:01:00; int: Connecting; sub: Connecting; not in use: DidNotRespond connection-string-removed:6380: int ops=0, qu=2, qs=0, qc=0, wr=0, async=7, socks=3; sub ops=0, qu=0, qs=0, qc=0, wr=0, socks=3 Circular op-count snapshot; int: 0 (0.00 ops/s; spans 10s); sub: 0 (0.00 ops/s; spans 10s) Sync timeouts: 0; fire and forget: 0; last heartbeat: -1s ago

有人可以破译吗?


问题答案:

我在Azure Web Apps团队中工作-看起来您的VNET进入了一种特别奇怪的状态,并且正在中断应用程序的网络连接。我已修复此问题。

给您带来的不便,我们深表歉意。



 类似资料:
  • 问题内容: 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以通过使用本地计算机上的curl来访问Kibana和Elastic search 我得到以下回应 var hashRoute =’/ app / kibana’; var defaultRoute =’/ app / kibana’; var hash = window.location.hash;

  • 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以使用 我得到以下回应 var hashRoute='/app/kibana'; var defaultRoute='/app/kibana'; var hash=window.location.hash; if(hash.length){window.location=hashRoute hash;}其他{wi

  • 问题内容: 我最近安装了Elasticsearch,并且在开始的几天里一切正常,但是今天以某种方式停止了工作 当我启动该服务时,它声称很好… 但后来我明白了 查看elasticsearch日志: 看起来有关于Java VM的警告;那可能是问题吗?我还应该尝试/看看什么? 问题答案: 1) 使用linux中的命令 检查端口9200的状态 。 就我而言,以下是启动时的结果。 对我不是服务,否则找到正在

  • 这几天来,我无法在本地运行mac os ML的机器上连接到我的postgreSQL数据库。 我机器的nmap显示postgres在5432上运行,我可以通过pgadmin和psql进行本地连接。 收听地址设置为* 当我尝试连接JDBC时,我会遇到以下异常 组织。postgresql。util。PSQLException:连接被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。

  • 问题内容: 我在通过Ruby-Watir Webdriver连接到Tor时遇到问题。 我使用Tor浏览器套件。问题是,当我尝试通过Watir(Selenium)连接时,似乎无法打开Tor而不是常规的Firefox。 在研究类似问题时,我尝试了以下方法: 当我使用上述代码时,我仍然会打开普通的firefox浏览器,并且无法连接到洋葱站点。 有什么想法吗?是否需要将Tor浏览器连接到我的webdriv

  • 我正在尝试将sonarqube(版本5.1.2)与intellij(2016.2)集成。我已经添加了sonarLint插件。当我试图将一个sonar服务器添加到sonarLint设置中时,它会询问sonar服务器的用户名和密码以及其他细节,如URL。但它无法连接到声纳服务器,并出现错误:请求失败:https://example.com/api/system/status