📍 Казахстан (Сербия, Армения)Санкт-ПетербургМоскваПолная удалёнкаПомощь с переездом
Балансер (балансирующий нагрузку обратный прокси-сервер) терминирует протоколы прикладного уровня и перенаправляет запросы пользователей в сервисы. Подавляющее большинство сервисов Яндекса используют балансер для распределения трафика по дата-центрам и для защиты от DDoS-атак.
Балансер является точкой отказа сервиса, открытой для внешних угроз, поэтому к его надёжности, отказоустойчивости и скорости работы предъявляются исключительно высокие требования. Например, инсталляция балансера yandex.tld должна быть готова обработать миллионы запросов в секунду.
Технологии/инструменты
C++TCP/IPHTTPLinuxCI/CDgRPC
Задачи на проекте
Примеры конкретных задач, которые мы решаем:
- Разработка алгоритма динамической балансировки (так, чтобы если бэкенду "плохо", то нагрузка на него снижалась автоматически).
- Налаживание фаззинг-тестирования балансера.
- Уменьшение потребления памяти неактивными HTTP/2-соединениями.
- Поддержание протокола 0-RTT Handshake с клиентом.
- Динамический подбор размера TLS-записи.
Обязанности
- Поддержка новых протоколов (gRPC, HTTP/3).
- Поддержка последних фичей TLS 1.3 (Certificate Compression — rfc8879).
- Уменьшение задержек обработки запросов в балансере (внедрение многопоточного планировщика корутин, Stackless Coroutines).
- Оптимизация потребления CPU и памяти.
- Улучшение точности и информативности нагрузочного тестирования.
- Оптимизация алгоритмов динамической балансировки и улучшение методик их тестирования.
- Доработка мониторингов в проекте балансера.
- Доработка процессов CI/CD в проекте балансера.
Ожидания
- Хорошо знаете C++.
- Хорошо знаете TCP/IP и HTTP/1.x.
- Понимаете, как устроена сетевая подсистема ядра Linux или другой операционной системы.
Будет плюсом:
- Имеете опыт разработки многопоточных и асинхронных приложений.
- Имеете опыт разработки приложений, активно работающих с сетью.
- Понимаете работу TLS, HTTP/2, gRPC, HTTP/3.
- Имеете опыт разработки на Python.
Что предлагаем
- Сильная команда, с которой можно расти.
- Сложные задачи для сервисов с миллионами пользователей.
- Возможность влиять на процесс и результат.
- Зарплата на уровне рынка и выше.
- Премии каждые полгода для всех, кто работает эффективно.
- Расширенная программа ДМС: оплата 80% стоимости ДМС для супругов и детей.
- Гибкий график работы.
Дарина Гренивецкая Recruiter