Раздел 45 · Python backend: Тарбадель

Pub/Sub и Streams: громкоговоритель и журнал

middle-senior~25 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Утром на складе Барахолки сто оплаченных заказов, и ни один не собран. Касса в 03:00 разослала сто событий «заказ оплачен», и каждое ответило: услышали ноль. Слушатель склада в ту минуту перезапускался. Две минуты простоя, сто покупателей без посылок. Узор прокручивает журнал кассы: все сто событий ушли с одного клиента, Oracle/2.7, за сорок миллисекунд.

В прошлом уроке Redis учился отказывать. Теперь он передаёт сообщения от одних частей Барахолки другим: касса сообщает, склад собирает, почта пишет покупателю. В Redis для этого два механизма, и устроены они противоположно. Pub/Sub это громкоговоритель: быстро и сразу всем, но без памяти. Streams это журнал: запись остаётся, и каждый читатель продолжает с того места, где остановился.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.