У меня два совершенно разных приложения SignalR, но имена хабов одинаковые.Каждое приложение было развернуто на тех же двух серверах (с балансировкой нагрузки).Моя архитектура выглядит следующим образом:
Приложение кэша: netscaler1 -> server1, server2 Имя концентратора: SignalRHub
Торговое приложение: netscaler2 -> server1, server2 Имя концентратора: SignalRHub
Кэш
namespace SignalR.Server.Cache
{
class Program
{
static void Main(string[] args)
{
var url = ConfigurationManager.AppSettings["cacheurl"];
using (WebApp.Start(url))
{
Console.ReadLine();
}
}
}
public class Startup
{
public void Configuration(IAppBuilder app)
{
HubConfiguration conf = new HubConfiguration();
GlobalHost.DependencyResolver.UseRedis("sameIp", 6379, "*******", "Cache");
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR(conf);
}
}
}
namespace SignalR.Server.Cache
{
public class SignalRHub : Hub
{
public void SendCache(string cache)
{
Clients.All.OnMessage(cache);
}
}
}
Торговля
namespace SignalR.Server.Trade
{
class Program
{
static void Main(string[] args)
{
var url = ConfigurationManager.AppSettings["tradeurl"];
using (WebApp.Start(url))
{
Console.ReadLine();
}
}
}
public class Startup
{
public void Configuration(IAppBuilder app)
{
HubConfiguration conf = new HubConfiguration();
GlobalHost.DependencyResolver.UseRedis("sameIp", 6379, "*******", "Trade");
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR(conf);
}
}
}
namespace SignalR.Server.Trade
{
public class SignalRHub : Hub
{
public void SendMessage(string message)
{
Clients.All.OnMessage(message);
}
}
}
Мои вопросы:)
- Делает то же самое redisсервер вызывает проблему?Обрабатывает ли это параметр ключа события redis?
- Как redis хранит эти соединения?Я подключился к redis с помощью диспетчера рабочего стола redis
и не увидел ни одной базы данных. - Я также храню данные на одном сервере redis для разных целей. Это вызывает проблемы?
- Вызывают ли проблемы два концентратора с одинаковыми именами на одном сервере?я должен изменить имена узлов