Azure Redis Cache автоматически очищает каналы PubSub - PullRequest
0 голосов
/ 26 апреля 2018

В Azure настроено четыре разных подписки Redis Cache. У меня также есть четыре Службы приложений, каждая из которых использует одну из этих подписок Redis Cache. Четыре подписки на службы приложений / Redis Cache предназначены для одной и той же базы кода, но для разных сред. Я использую тест, постановку, живое восточное побережье и живое западное побережье.

Код, работающий в каждой службе приложений, одинаков.

У меня есть проект ASP.NET Core Web API, который использует StackExchange.Redis. В моем проекте веб-API я подключаюсь к подписке Redis, настроенной в Azure, которая соответствует среде для службы приложений. В рамках процесса запуска проекта Web API я открываю четыре канала PubSub.

Для тестовой, промежуточной и живой среды на западном побережье созданы четыре канала PubSub, и они прекрасно работают. Я могу подключиться к консоли Redis через Azure, выполнить команду PUBSUB CHANNELS и посмотреть четыре канала, которые я создаю с помощью кода.

По какой-то причине в подписке Redis на восточном побережье только один из каналов PubSub отображается. Я также могу убедиться, что на самом деле открыт только один канал. Мой интерфейс, который вызывает Web API, имеет логику, которая публикует сообщения в Redis PubSub. Они не работают в службе приложений Live-East Coast. Если я перезапущу Службу приложений или перезапущу Redis, то иногда я могу заставить все четыре канала PubSub отображаться и работать должным образом. Каждый раз, когда я развертываю новый код в своей службе приложений в реальном времени на восточном побережье, после резервного копирования службы создается только один из каналов.

По какой-то причине Redis закрывает три моих канала PubSub. Опять же, это происходит только в одной из моих четырех подписок Redis / Служб приложений. Остальные три работают безупречно.

Я убедился, что все настройки для моих четырех подписок Redis и четырех служб приложений идентичны. Я несколько раз пытался перезагрузить и развернуть систему, и я просто не могу получить подписку Redis на восточном побережье, чтобы все четыре канала PubSub были открыты.

Кто-нибудь испытывал что-либо подобное? Кто-нибудь видел, как кэш Azure Redis случайным образом закрывал свои каналы PubSub?

1 Ответ

0 голосов
/ 26 апреля 2018

Возможно, что клиенты, подписанные на этот канал, либо умерли, либо никогда не подключались успешно. Как только число подписчиков достигнет нуля, PUBSUB channels больше не будет показывать этот канал. Попробуйте запустить PUBSUB numsub <channel_name>, чтобы убедиться, что есть подписчики. Также запустите CLIENT list, чтобы узнать, сколько клиентов имеет подписки (будет примерно sub=1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...