GitHub опубликует исходный код своего балансировщика нагрузки — GitHub Load Balancer (GLB)
Иллюстрация с сайта GitHub Engineering
GitHub ежедневно обслуживает миллиарды подключений к HTTP, Git и SSH. Для этого в компании создали своё решение — GitHub Load Balancer (GLB). Его Open Source-релиз запланирован на ближайшее время.
GLB — балансировщик нагрузки, разработанный внутри GitHub и запускаемый на «голом» железе (bare metal) для обеспечения лучшей производительности. Изначально администраторы сервиса использовали вертикальное масштабирование, используя небольшое количество производительных машин с HAProxy, но для этого требовалось специфичное оборудование, обеспечивающее выделенное подключение на 10 гигабит с failover. Со временем они пришли к необходимости создания балансировщика, который можно было бы запустить на типовом железе, доступном в типовом дата-центре. Так в прошлом году появился GitHub Load Balancer.
В основе алгоритма его работы — хэширование Rendezvous (еще известное как Highest Random Weight, HRW). Полученная реализация позволяет удалять управляющие (director) и прокси- узлы из ротации балансировщика без разрывов для пользователей, насколько это вообще возможно. GLB решил ряд задач, стоявших перед инженерами GitHub, среди которых не только горизонтальная масштабируемость, высокая доступность и поддержка connection draining, но и возможность внедрения как обычного ПО, тестируемость на любом уровне, устойчивость к типовым DDoS-атакам.
Авторы обещают, что «на протяжении нескольких последующих недель будет выложена архитектура и выпущены компоненты [GLB] как Open Source-проекта».
Постоянная ссылка к новости: http://www.nixp.ru/news/13786.html. Дмитрий Шурупов по материалам GitHub Engineering, infoworld.com.
- Atom 1.0 — стабильный релиз расширяемого текстового редактора от GitHub на базе Chromium и JavaScript 2 1 26 июня 2015 г.
- GitHub выпустила Open Source-инструмент Classroom для обучения разработке программного обеспечения 2 24 сентября 2015 г.
- GitHub открыла код octocatalog-diff для просмотра изменений в манифестах Puppet 28 октября 2016 г.
- OctoDNS — Open Source-инструменты от GitHub для управления DNS-записями у разных провайдеров 29 апреля 2017 г.
OctoDNS — Open Source-инструменты от GitHub для управления DNS-записями у разных провайдеров
Upspin — новый Open Source-проект Google для безопасного обмена файлами по сети
Radisys готовит первый в мире Open Source-продукт категории Evolved Packet Core для 5G
GitHub открыла код octocatalog-diff для просмотра изменений в манифестах Puppet
Facebook открывает код Augmented Traffic Control — ПО для эмуляции сетей 2G, 3G, EDGE и LTE 2
Военные США открыли код Dshell для анализа сетевой активности 1
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1