【问题标题】:None of the specified endpoints were reachable指定的端点均不可到达
【发布时间】:2015-12-02 14:48:20
【问题描述】:

从 .net 应用程序发布消息时,rabbitmq 出现间歇性问题。它在系统中产生大量噪音。 我试过谷歌搜索,但找不到问题的根本原因。

这是我在应用程序日志中看到的错误,

None of the specified endpoints were reachable
Endpoints attempted:
------------------------------------------------
endpoint=amqp-0-9://localhost:5672, attempts=1
System.TimeoutException: Connection to amqp-0-9://localhost:5672 timed out
   at RabbitMQ.Client.Impl.SocketFrameHandler_0_9.Connect(TcpClient socket, AmqpTcpEndpoint endpoint, Int32 timeout)
   at RabbitMQ.Client.Impl.SocketFrameHandler_0_9..ctor(AmqpTcpEndpoint endpoint, ObtainSocket socketFactory, Int32 timeout)
   at RabbitMQ.Client.Framing.Impl.v0_9_1.ProtocolBase.CreateFrameHandler(AmqpTcpEndpoint endpoint, ObtainSocket socketFactory, Int32 timeout)
   at RabbitMQ.Client.ConnectionFactory.FollowRedirectChain(Int32 maxRedirects, IDictionary`2 connectionAttempts, IDictionary`2 connectionErrors, AmqpTcpEndpoint[]& mostRecentKnownHosts, AmqpTcpEndpoint endpoint)
================================================
Stack trace:
   at RabbitMQ.Client.ConnectionFactory.CreateConnection(Int32 maxRedirects)
   at RabbitMQ.Client.ConnectionFactory.CreateConnection()

【问题讨论】:

  • 您确定代理正在运行吗?你用的是什么用户名和密码?
  • 是的,代理运行良好。我的服务器上运行着其他四个应用程序,问题出在只有一个应用程序上。
  • 只有“远程”应用程序有问题吗?在这种情况下可能是防火墙问题
  • @Gas RabbitMQ 和应用程序在同一台机器上。所以应该不存在防火墙问题。实际上,现在同样工作正常,问题是间歇性的。

标签: c# .net rabbitmq


【解决方案1】:

我已通过将 RabbitMQ 连接对象设为单例来解决此问题,以确保重用连接而不是每次都建立新连接。

【讨论】:

  • 推荐的方法是每个进程有一个连接,每个线程在通道上
猜你喜欢
  • 1970-01-01
  • 2021-04-09
  • 2018-05-31
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 2020-07-20
  • 2015-10-04
  • 1970-01-01
相关资源
最近更新 更多