Pull to refresh
3
Alexander Shcheglov@sqlmaster

MPP Database Engineer (Greenplum, PostgreSQL)

2
Subscribers
Send message

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

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

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

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

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

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

Читать далее

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

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