ВПЗ (open your source, b*tch!)

Мене тішить думка, що керівництво компанії позитивно оцінило прагнення випустити у відкрите плавання певні внутрішні напрацювання.

Оскільки я займаюся системами зберігання даних і віртуалізацією, деякі речі потребують брати gcc і затишну сішечку в руки, щоб інтегрувати всілякі фронтенди з усілякими бекендами. Оскільки я ще й прискіпливий, мені здається, що виходять доволі якісні речі. Звісно, повністю код показувати нема сенсу (кому цікаві суто наші вузькоспецифічні штучки?), а от загальні супутні бібліотеки, написані для полегшення собі життя, треба роздавати всім.

Із того, що ми зараз випустили:

  • pfcquirks — NIH-бібліотека дуже корисних для мене обгорток над стандартними функціями для роботи з пам’яттю та string’ами, використовується у всьому, що я пишу на Сі;
  • pfzjob — обгортка над ZMQ-сокетами, використовується як високопродуктивне, надійне й багатопоточне ядро для інтеграції медіа-фронтенда і міддленда з бекендом на GlusterFS;
  • pfpthquirks — ще одна NIH-бібліотека для тих, кого задрало ручками гратися з POSIX-потоками;
  • pfpf — мегарозробка з дикої суміші epoll+pthreads+SO_REUSEPORT, використовувалося в нас як перспективне ядро для інтеграції фронтенд-бекенд, поки я не пішов у бік ZMQ;
  • pfglfsquirks — маленька бібліотечка з кількох обгорток для GlusterFS C API, у якій коду раніше було трохи більше, але через непотрібність його було вичищено.

Зауважте pf-префікси у всіх бібліотеках :).

Окрім бібліотек ми ще зарелізили кілька маленьких і корисних утиліт:

  • pingtcp — штука, якою я вирішив для себе дві задачі: використати не-deprecated API для мережевого програмування, а також запустити це API через мережу TOR (а сама утиліта просто міряє час TCP-хендшейка, при цьому, наскільки я знаю, її благополучно використовують наші мережевики);
  • glcopy — маленька, але горда інноваційна утиліта для масового копіювання файлів між кількома GlusterFS-нодами без FUSE.

А ще у відкритий доступ викладено ifcfg-скрипти для VETH, якими я намагаюся правильно вирішити проблему флапання L2-мостів у Лінуксі на гіпервізорах із купою віртуалок. Скрипти прості, доволі довго тестувалися в мене на робочому місці, а тепер я їх заганяю у продакшн і схрещую пальці, щоб усе було ОК =).

Із того, чим займався не я, ми випустили модифікований rtmp-модуль для nginx’а, яким хлопці з моніторингу рішають свої задачі по відеоспостереженню.

Наостанок хочу зауважити, що готується мегареліз високопродуктивного, haproxy-подібного, але простого як дрова HA-DNS-балансувальника. Зараз він успішно пройшов внутрішнє тестування, і якщо вийде так, що через нього справно обслуговуватиметься ввесь клієнтський DNS-трафік, то ми його обов’язкомо віддамо в opensource.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

*

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.