rabbit 在.net 环境下偶现(大概率):None of the specified endpoints were reachable 异常
标签:nts bit new eve amp ESS ble ace oca
项目使用的 rabbit RabbitMQ.Client, Version=5.0.0.0
最近项目用户量上来后,偶现 None of the specified endpoints were reachable 异常
解决方案:修改MQ请求的超时时间(参数TimeoutMilliseconds 由之前的30秒改成默认10秒,个别调用时间5秒) 发布后系统稳定
///
///
///
///
///
///
///
///
public static string SendMessage(string jsonStr, string className, string actionName, string authCode, int timeout = 10000)
{
if (cf.HostName == null || string.IsNullOrWhiteSpace(cf.HostName) || cf.HostName == "localhost")
{
cf.HostName = hostName;
cf.VirtualHost = virtualHost;
cf.UserName = userName;
cf.Password = password;
}
using (IConnection conn = cf.CreateConnection())
{
using (IModel ch = conn.CreateModel())
{
var requst = new RMQRequest
{
ClassName = className,
ActionName = actionName,
JStr = jsonStr,
Timestamp = DateTime.Now
};
object[] reqobj = new object[1];
reqobj[0] = JsonConvert.SerializeObject(requst);
SimpleRpcClient client = new SimpleRpcClient(ch, authCode);
client.TimeoutMilliseconds = timeout;
client.TimedOut += new EventHandler(TimedOutHandler);
client.Disconnected += new EventHandler(DisconnectedHandler);
var reply = client.Call(reqobj);
if (reply == null)
{
return null;
}
else
{
return reply[0].ToString();
}
}
}
}
rabbit 在.net 环境下偶现(大概率):None of the specified endpoints were reachable 异常
标签:nts bit new eve amp ESS ble ace oca
原文地址:https://www.cnblogs.com/WQ1992/p/12100854.html
评论