Как сделать сервис нотификаций без создания хайлоада самому себе

Бэкенд, теория программирования

Доклад отклонён

Тезисы

Возникла задача в разработке сервиса для для отправки push нотификаций.

Для решения разделили на 2 отдельных сервиса: notification service отвечает за приём пушей для отправки и имеет ручки для обработки callback-ов от мобилки, второй- push sender, его обязанности- отправка пуша на мобильное устройство и сигнализирование в случае проблем.



В процессе проектирования и разработки первого сервиса появилось несколько моментов, которыми хотел бы поделиться в рамках доклада:

-из-за того, что пушей планировалось большое количество(10kk в сутки), нужно было придумать, как не положить базу запросами, но в то же время иметь быстрый доступ к записям при обращениях. Для этого помимо реляционной базы использовали кеш и очереди.
-история сообщений по пользователям. А именно: как мапить историю пользователя до момента авторизации и как лучше организовать хранение истории нотификаций.
-чистка пушей с остальных устройств пользователя. Когда это нужно и как можно это сделать проще для себя и клиента.

Максим Исаченко

СберМаркет

Бэкенд разработчик, сейчас работаю в СберМаркете на ror + go. До этого работал в playtika в Минске.

СберМаркет

СберМаркет— технологический онлайн-сервис, который помогает делать покупки не выходя из дома. Команда разработки СберМаркета создает один из самых сложных высоконагруженных e-commerce проектов в России, который помогает делать покупки у любимых ретейлеров.

Видео