Обновить
32K+
16
Igor Berezniak@bznk

Разработчик С++ в Яндекс Go

93,1
Рейтинг
12
Подписчики
Отправить сообщение

Как мигрировать кусочек Яндекс Такси с PostgreSQL на YDB и перестать считать подключения к шардам

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели17K

Привет, Хабр! Меня зовут Игорь Березняк, и мы с командой делаем Техплатформу Городских сервисов Яндекса. Я уже писал на Хабре про архитектуру платформы, рассказывал на «Хайлоаде» (и на Хабре) про шардирование и миграцию на YDB.

Эта статья написана по мотивам последнего доклада. В ней я рассказываю не о самой миграции (ну мигрировали и мигрировали, этим сейчас никого не удивишь), а о её причинах.

Дело в том, что PostgreSQL — потрясающая система. Инженерное чудо, позволяющее сейчас нескольким разработчикам собирать системы, для которых всего пару десятков лет назад потребовалась бы команда архитекторов и контракт с вендором.

Но, разрабатывая любую систему, программисты пишут код, который лучше всего работает в ожидаемых сценариях. Эта статья о том, с какими ограничениями PostgreSQL сталкиваются системы масштаба Яндекс Такси при росте. Я расскажу про время выбора нового мастера при репликации, лимиты количества соединений, разработку холодного хранилища.

В моём рассказе переход на YDB — это в первую очередь смена одних ожидаемых сценариев работы на другие. Со своими последствиями, компромиссами, необходимостью адаптировать и переписывать код.

Читать далее

10 000 RPS и доступность 99,99%: как устроено шардирование PG в процессинге Яндекс Такси

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели40K

Когда система растёт, нагрузка на базу становится критичной, а готовых решений для шардирования PostgreSQL не хватает. Стандартные подходы не подошли — поэтому команда сделала свое решение для шардирования в ядре процессинга заказов. Оно позволяет решардировать данные без простоев и деградации метрик.

Привет, Хабр! Меня зовут Игорь Березняк, я руковожу группой процессинга в Техплатформе Городских сервисов Яндекса. В этой статье по мотивам моего доклада на Highload++ расскажу, как мы проектировали шардирование PostgreSQL, чтобы выдерживать нагрузку, сохранить доступность и уложиться в строгие требования по latency.

Читать далее

Processing as a Service в бэкенде: как этот принцип помогает заказам выживать

Время на прочтение17 мин
Охват и читатели8.3K

Меня зовут Игорь Березняк, я руковожу разработкой процессинга в Техплатформе Екома и Райдтеха Яндекса — платформе, которая создаёт и поддерживает инструменты для разработчиков Яндекс Такси, Лавки, Еды, Доставки и Маркета. На нашем процессинге работает Яндекс Такси. В статье я расскажу об основополагающем принципе построения бэкенда сервиса, который позволяет повышать выживаемость жизненного цикла заказа в условиях отказов различных компонентов.

Читать далее

Информация

В рейтинге
78-й
Работает в
Зарегистрирован
Активность

Специализация

Десктоп разработчик, Бэкенд разработчик
Ведущий
Git
SQL
Python
PostgreSQL
Linux
Docker
ООП
C++
Многопоточность
Разработка программного обеспечения