Профессиональная конференция для Go-разработчиков

Как мы реализовали failover на базе библиотеки etcd и не стали переписывать 100 тыс. строк кода

Проекты и решения на Go

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

devops, golang разработчики инфраструктурных решений

Тезисы

В жизни почти каждой системы «с историей» случается момент, когда инфраструктура перестает отвечать стандартам отказоустойчивости. Так было и у нас — в нашем продукте 60+ баз со сложной бизнес-логикой в 100 тыс. строк. Большая часть была написана на версии Tarantool 1.5, в которой не предусмотрено авто-резервирование.

В нашем случае мигрировать на новую версию Tarantool — значило бы писать код с нуля. Мы пошли другим путем — написали свой failover на базе библиотеки etcd, и тем самым не только решили огромную проблему с миграцией, но и бонусом научились собирать меньше инстансов, чем требует новая версия Tarantool.

В докладе расскажу про возможности и преимущества открытой библиотеки etcd для подобных задач и как мы дорабатывали ее под себя: писали «обертку» над стандартными Get Put Remove и методы защиты от сплитбрейнов, а еще строили eventloop на базе Watch.
Этот практический доклад будет интересен всем, кто использует собственные DevOps-инструменты для решения нетривиальных задач, связанных с построением инфраструктуры в комплексных системах, и выбирает Go для их создания.

Ведущий DevOps Инженер в Группе системной разработки VK WorkSpace VK Tech

VK Tech

О текущей компании VK Tech — команда из 1400 специалистов в России и Казахстане. Мы разрабатываем и продвигаем облачные платформы и сервисы VK Cloud, in-memory СУБД Tarantool, коммуникационные решения — от почты VK WorkSpace до супераппа VK Teams и решения для автоматизации HR и финансов. Внутри: C++, Python, Go, Java, Javascript, Lua.

Видео