#postgresql_leases — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #postgresql_leases, aggregated by home.social.
-
Как мы заменили 30-минутный polling на IMAP IDLE и построили маленькую распределённую систему
Когда-то наш почтовый загрузчик был обычным методом с @Scheduled . Раз в 30 минут он подключался к ящикам, искал новые вложения и запускал их обработку. Решение было простым, понятным и долгое время вполне рабочим. Через несколько итераций вокруг того же загрузчика уже существовали IMAP IDLE listener'ы, PostgreSQL leases, heartbeat экземпляров приложения, перебалансировка почтовых ящиков между pod'ами, UID checkpoints, постоянная идемпотентность и отдельная обработка FolderClosedException . В какой-то момент мы даже попробовали держать несколько IMAP-соединений к одному ящику, но затем сознательно удалили эту часть архитектуры. Это история не о том, как мы «заменили polling на push» одной настройкой. Она о том, как безобидный интеграционный адаптер постепенно превратился в маленькую распределённую систему. И о границе параллелизма, которую мы сначала провели не там. Получить письмо
https://habr.com/ru/articles/1065768/
#Java #Spring_Boot #IMAP_IDLE #distributed_systems #PostgreSQL_leases #idempotency #backpressure #virtual_threads #concurrency #atleastonce_delivery