Производственная необходимость и обстоятельства подтолкнули Петер-Сервис использовать OpenLDAP в своих решениях, а затем заставили добиться от этого кошмара надежной работы в нагруженном кластере.
Увы и ах, но общеизвестный проект с открытым исходным кодом и 25-летней историей, лежащий в основе LDAP как технологии, оказался хорошим примером "так делать не надо". Но отступать нам было не с руки...
В результате мы сделали ReOpenLDAP — это потомок общеизвестного OpenLDAP, но предназначенный для промышленной эксплуатации в сфере телекоммуникаций (десятки и сотни миллионов записей, более 10К обновлений в секунду, до 100К запросов чтения, высокая доступность, 24x7), и также с открытым исходным кодом.
О чем думаем рассказать:
- как мы умудрились этим заняться.
- "сказочная" стабильность, падения каждые 5-10 минут, потеря данных и утечки памяти.
- facepalm от исходного кода и от его особенностей.
- год сурка: тестирование, корки, медитация, правки.
- новое: iddqd, idkfa, "кворум" для репликации, почему теперь быстрее и в 10 раз меньше RAM.
- пара слов о доработках движка LMDB (Lightning Memory-Mapped Database).
- взгляд на качество и дельные идейные советы, как стоит и как действительно НЕ следует делать OpenSource.
Обратите внимание на доклад по связанной теме http://www.highload.ru/2015/abstracts/1831.html, в котором я расскажу о движке LMDB и наших доработках. Именно существенные переделки движка хранения дали нам производительность и сохранность данных.
Проект реализуется силами компании Петер-Сервис R&D, резидента Сколково, для применения в телеком-проектах федерального масштаба.
Более подробно о ReOpenLDAP = https://github.com/ReOpen/ReOpenLDAP/wiki