Как мы реализовали failover на базе библиотеки etcd и не стали переписывать 100 тыс. строк кода
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
В жизни почти каждой системы «с историей» случается момент, когда инфраструктура перестает отвечать стандартам отказоустойчивости. Так было и у нас — в нашем продукте 60+ баз со сложной бизнес-логикой в 100 тыс. строк. Большая часть была написана на версии Tarantool 1.5, в которой не предусмотрено авто-резервирование.
В нашем случае мигрировать на новую версию Tarantool — значило бы писать код с нуля. Мы пошли другим путем — написали свой failover на базе библиотеки etcd, и тем самым не только решили огромную проблему с миграцией, но и бонусом научились собирать меньше инстансов, чем требует новая версия Tarantool.
В докладе расскажу про возможности и преимущества открытой библиотеки etcd для подобных задач и как мы дорабатывали ее под себя: писали «обертку» над стандартными Get Put Remove и методы защиты от сплитбрейнов, а еще строили eventloop на базе Watch.
Этот практический доклад будет интересен всем, кто использует собственные DevOps-инструменты для решения нетривиальных задач, связанных с построением инфраструктуры в комплексных системах, и выбирает Go для их создания.
Ведущий DevOps Инженер в Группе системной разработки VK WorkSpace VK Tech
VK Tech
Видео
Другие доклады секции
Проекты и решения на Go