ВПЗ (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.
Залишити відповідь