Комментарии 10
Коду в этой статье бы код-ревью пройти, а потом уже в народ)
+1
У меня есть возможность редактирования статьи. Поэтому, с радостью выслушаю Ваши предложения по ее улучшению.
0
1) Где-то используете билдер в формате лесенки, где-то вызов каждый метода на каждой строке у экземпляра билдера
2) ttlInSeconds в виде строки? замените на примитив
3) Не проверяете существование файла настроек при создании бина
4) Используете sout
5) Метод с 6ю параметрами заменил бы конфиг-объектом
6) принципы DRY
2) ttlInSeconds в виде строки? замените на примитив
3) Не проверяете существование файла настроек при создании бина
4) Используете sout
5) Метод с 6ю параметрами заменил бы конфиг-объектом
6) принципы DRY
0
Используете ли очередь (MQ) для отправки уведомлений или они отправляются синхронно по событиям? Недавно задумался над этим вопросом: операция отправки push-уведомления может быть дорогой, нужно отправить сетевой запрос в Firebase, а то и сходить в БД за данными для уведомления. Стоит ли сразу озаботиться настройкой очереди для пушей, чтобы сервер не падал под нагрузкой при большом количестве уведомлений?
0
Сложности на серверной стороне
- Понятно, что идентификатор устройства, присылаемый пользователем, мы сохраняем в базу данных;
- Идентификатор устройства хорошо бы привязывать к пользователю, чтобы отправлять персонализированные сообщения;
- Стоит помнить, что пользователь у нас один, а устройств у него может быть несколько, также одним устройством могут пользоваться несколько пользователей;
- Отправка уведомлений пользователям не самая дешевая операция и поэтому событие, инициирующее отправку уведомления, нужно ставить в очередь на отправку;
- Только маленькие проекты с малым числом получателей могут позволить себе отправлять уведомления по событию, в течении того-же HTTP запроса;
- Так у нас появляется система очередей на RabbitMQ, Redis и т.д.;
- Появляются демоны/воркеры которые разбирают очередь и другие инструменты поддержки очередей;
- Для увеличения скорости отправки можно распараллелить процесс и разнести его на несколько нод.
0
А как узнать дошло push-уведомление до пользователя?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Рассылка Push-уведомлений с SpringBoot сервера