💡Моя ближайшая задача. Push-уведомления
Недавно общался с Product Owner по одной из своих базовых активностей и перед мной поставили простую, но интересную задачу - "Реализация push-уведомлений на основе время прибытия в точку назначения".
Что значит "простая задача"? Она проста тем, что много раз уже реализовывалась на протяжении последних лет, однако не все так прямолинейно как может показаться на первый взгляд.
В первую очередь стоит определить какой стек технологий мы собираемся использовать для реализации данного механизма. Конечно сразу же на ум приходит модный Apache Kafka, но не стоит списывать со счетов RabbitMQ.
Вот тут как раз все НЕпросто. Apache Kafka и RabbitMQ используют разную архитектуру и разные подходы. Это сказывается на сложности реализации, внедрения и поддержке, а также производительности.
Потому перед принятием решения о том, что использовать необходимо собрать требования: частота отправки, размер сообщений, порядок отправки, гарантия доставки и многое другое.
С базой данных все решено и будет использоваться PostgresSQL, потому что её уже успешно применяют на проекте.
Далее, уже можно подумать о том какую архитектуру приложения выбирать: микросервис или монолит.
Иные технологии: Java (8 или 11) или Kotlin, Reactor Project, Spring Boot (2 или 3).
Что думаете вы? Пишите в комментариях.
Макс Добрынин
Недавно общался с Product Owner по одной из своих базовых активностей и перед мной поставили простую, но интересную задачу - "Реализация push-уведомлений на основе время прибытия в точку назначения".
Что значит "простая задача"? Она проста тем, что много раз уже реализовывалась на протяжении последних лет, однако не все так прямолинейно как может показаться на первый взгляд.
В первую очередь стоит определить какой стек технологий мы собираемся использовать для реализации данного механизма. Конечно сразу же на ум приходит модный Apache Kafka, но не стоит списывать со счетов RabbitMQ.
Вот тут как раз все НЕпросто. Apache Kafka и RabbitMQ используют разную архитектуру и разные подходы. Это сказывается на сложности реализации, внедрения и поддержке, а также производительности.
Потому перед принятием решения о том, что использовать необходимо собрать требования: частота отправки, размер сообщений, порядок отправки, гарантия доставки и многое другое.
С базой данных все решено и будет использоваться PostgresSQL, потому что её уже успешно применяют на проекте.
Далее, уже можно подумать о том какую архитектуру приложения выбирать: микросервис или монолит.
Иные технологии: Java (8 или 11) или Kotlin, Reactor Project, Spring Boot (2 или 3).
Что думаете вы? Пишите в комментариях.
Макс Добрынин