Pull to refresh
4K+
3
Alexander Shcheglov@sqlmaster

MPP Database Engineer (Greenplum, PostgreSQL)

4
Rating
2
Subscribers
Send message

Как я написал распределенный Cron на C с P2P-репликацией и зачем это нужно админам Greenplum

Level of difficultyMedium
Reading time9 min
Reach and readers6.2K

Представьте себе классический кошмар системного администратора или SRE: три часа ночи, в управлении огромный кластер Greenplum на сотню сегмент-хостов, и вам нужно запустить тяжелый ETL-процесс или проверить доступность gpfdist строго одновременно на всех узлах.

Вы начинаете перебирать инструменты. Стандартный Cron? Он локальный, замучаешься синхронизировать конфиги. Ansible или SaltStack? Хороши, но требуют центрального «мастера» и стабильного SSH-соединения в момент старта. А если в дата-центре «моргнула» сеть и часть сегментов оказалась изолирована? Команда просто не дойдет.

Я решил, что миру нужен инструмент, который ведет себя как «умный почтовый ящик»: вы закидываете в него зашифрованную команду, а она сама расползается по всей сети и ждет своего часа, чтобы «выстрелить» точно в срок. Так появилась Gorgona.

В этой статье я расскажу о тернистом пути создания распределенной системы на чистом C, о том, как я боролся с «сетевым эхо» и почему это решение заставляет админов больших баз данных спать спокойнее.

Читать далее

Information

Rating
1,419-th
Location
Россия
Registered
Activity

Specialization

Администратор баз данных, Разработчик баз данных
Ведущий
Git
PostgreSQL
Linux
Bash
C
Разработка программного обеспечения