TGViewer
Техлидошная | Golang Infra Dev | Project Leading Техлидошная | Golang Infra Dev | Project Leading @devlead · 519 subscribers
Post #75 292

Forwarded from Ви.Tech

В прошлом месяце искали решение для распределенного запуска кронов. Задача: три отдекльных, но при этом идентичных кластеров проекта, на которые балансируется весь трафик и каждая крон таска должна запускаться только один раз в одном кластере. Вначале казалось что все достаточно просто: делается где-то лок и проблема решена. Начали искать непосредственно то самое "где-то" для хранения локов.
Посмотрели первым https://dkron.io/, который выглядел очень интересно. Однако у него нужный функционал федерации оказался только в платной версии (750$ в год). Но дело даже не в платности, а (внезапно!) отсутствии триала. То есть просто взять и потыкать нельзя, необходимо сначала заплатить. Такая агрессивная политика разработчика немного оттолкнула.
Далее был рассмотрен вариант запуска через очереди, который вроде бы очень просто выглядит: при срабатывании крона мы не запускаем процесс, а ставим его в очередь. Однако, при более детальном рассмотрении начали всплывать нюансы. Все равно требовался лок с обеспечением атомарности между кластерами.
И тут вспомнили про Consul и про наличие у него замечательной фичи https://www.consul.io/commands/lock специально для такой задачи и разработанной. Consul хорошо работает в распределнных системах, имеет простой АПИ, готовые клиенты под наш стэк, и что самое главное не потребует масштабных переписываний всех команд, как в предыдущих случаях.
Пока еще тестируем и пробуем это решение, но выглядит оно очень много обещающе. До конца марта обкатаем в проде и расскажем о результатах.
More from @devlead
  1. Nov 7, 2024Всем привет. Знаю, что поиск работы в так называемом "бигтехе" для многих вопрос актуальны…
  2. Oct 24, 2024Наткнулся на шикарный гайд по профилированию go приложений от Dave Cheney. Все понятно и р…
  3. Sep 2, 2024Наткнулся на классную штуку. Визуализация алгоритмов https://www.cs.usfca.edu/~galles/visu…
  4. Aug 12, 2024Запустили менторскую программу, и теперь нас можно найти на Getmentor и Solvery. Наши опыт…
  5. Aug 12, 2024Авито запартнерилось с GetMentor и Solvery Теперь можно сразу посмотреть всех доступных ме…
  6. Aug 6, 2024📖 Наглядные и подробные интерактивные руководства об устройстве TLS протоколов: - версия…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →