Возможно ли использовать один и тот же сервер Redis в качестве объединительной платы для различных приложений SignalR - PullRequest
0 голосов
/ 22 октября 2018

У меня два совершенно разных приложения 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 для разных целей. Это вызывает проблемы?
  • Вызывают ли проблемы два концентратора с одинаковыми именами на одном сервере?я должен изменить имена узлов
...