Redis Pub/Sub реализует систему обмена сообщениями в реальном времени, где издатели публикуют на канал/тему, и несколько клиентов могут подписаться на этот канал/тему.

Redis Pub Sub

В нашем последнем учебном пособии « Руководство для начинающих по базе данных Redis In-Memory » мы узнали о Redis в качестве базы данных в памяти. И как это конкурирует с базами данных NOSQL. Мы также узнали, где использовать Redis и где его использование не является оптимальным. Теперь, построившись на вершине этой базы знаний, в этом уроке мы узнаем о Redis Pub/Sub, как это работает, и о том, что лучше всего использовать систему Redis Publish/Pricebibe. Давайте начнем.

Что такое шаблон публикации/подписки?

Опубликовать/подписаться или в короткие пабы/sub - это шаблон обмена сообщениями, где отправитель и приемник сообщений не обмениваются этими сообщениями напрямую. Скорее, отправитель сообщения публикует его на канал/тему. И все те, кто хочет получить эти сообщения, подписываются на канал/тему. Итак, это было скорее техническим объяснением. В нашей повседневной жизни мы довольно часто используем эту модель Publish-Subscribe, используя такие платформы социальных сетей, как YouTube, Twitter, Facebook или Instagram. Где производители контента производят контент, и те, кто заинтересован, будут следовать / подписаться на контент. Так что это то, что именно паб/субматер также делает в архитектуре программного обеспечения.

Как работает паб/субмоть?

В разработке программного обеспечения акцент на повторное использование очень высокое. И все шаблоны проектирования основаны на создании многоразовых компонентов или модулей. Поэтому, чтобы понять, какой паб/подставка вам сначала нужно посмотреть, откуда появилась эта идея и как разработчики нашли его как шаблон. По мере развития программных архитектур и более модуль они стали, больше коммуникаций / обмена сообщениями увеличивалось между модулями и компонентами. Например, подумайте о модуле как о обработчивом блоке, который делает некоторый вход и обеспечивает некоторый выход. И каждый вход на самом деле является сообщением, на котором обрабатывает единицу обработки, и генерирует другое сообщение в качестве вывода. Который станет входом в какой -то другой модуль. Таким образом, это увеличение обмена сообщениями требовало особого внимания, чтобы иметь масштабируемые приложения, было необходимо, чтобы модули и компоненты могли работать независимо без зависимостей. Следовательно, появился шаблон публикации/подписки. Во многих пабах/суб -системах издатели публикуют сообщения для посреднического посредника или шины событий, а подписчики регистрируют подписки с этим брокером, позволяя брокеру выполнять фильтрацию. Брокер обычно выполняет функцию магазина и вперед для маршрутизации сообщений от издателей на подписчиков. Кроме того, брокер может расставить приоритеты в очереди перед маршрутизацией.

Когда вы должны использовать Pub/sub?

Приложения чата - это классический случай использования паба/суббота. В приложении в чате участники могут подписаться на чаты, которые имеют назначенный паб/суб -тема. Когда пользователь отправляет сообщение в чат, ее экземпляр приложения чата публикует сообщение по теме чата. Подписчики темы получают сообщение. Служба очереди сообщений / очередь сообщений или приложения для обработки пакетной обработки также могут использовать паб / суб -шаблон. Где все те, кто хочет выполнить определенную задачу, опубликуют сообщение в очереди и обработки, которые подписались на эту очередь, получит сообщение для обработки работы. Давайте обсудим некоторые преимущества Pub/Sub Pattern

  • Свободная связь между компонентами системы
  • Лучший вид рабочего процесса общесистрии
  • Обеспечивает лучшую и более быструю интеграцию
  • Обеспечивает более плавную масштабируемость
  • Гарантированная последовательная надежность
  • Устает эластичность
  • Программная модуляризация
  • Разработка программного обеспечения для агностического языка языка
  • Ясность в бизнес -логике
  • Улучшает отзывчивость

Как использовать Redis pub/sub

Для установки Redis вы можете обратиться к моему последнему уроку. В этом примере объясняется, как работает концепция издателя и подписчика. В следующем примере один клиент подписывается на канал с именем «Redischat».

redis 127.0.0.1:6379> SUBSCRIBE redisChat  
Reading messages... (press Ctrl-C to quit) 
1) "subscribe" 
2) "redisChat" 
3) (integer) 1 

Теперь два клиента публикуют сообщения на том же канале с именем «Redischat», а вышеупомянутый клиент получает сообщения.

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great"  
(integer) 1  
redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis"  
(integer) 1   
1) "message" 
2) "redisChat" 
3) "Redis is a great" 
1) "message" 
2) "redisChat" 
3) "Learn redis" 

Заключение

В этом уроке мы узнали о шаблоне дизайна Publish/Pricebibe. И исследовал, как работает паб Redis/Sub. Мы также исследовали, какие случаи лучшего использования паб Redis/Sub, обмен сообщениями в реальном времени. В моем предстоящем учебном пособии мы рассмотрим REDIS дальше и объясним, как мы можем использовать Redis Pub/sub с node.js для создания приложения чата в реальном времени.