Рефакторинг приложения с использованием Go
Я расскажу, как рефакторинг высоконагруженного рекламного сервера на PHP с обилием legacy дал выигрыш по производительности более чем в 5 раз.
С ростом нагрузки горизонтальное масштабирование сервиса на динамическом языке программирования начинает неоправданно требовать десятки-сотни серверов. С ростом кодовой базы внесение изменений в такое же монолитное приложение становится неоправданно дорогим. Решение известное и простое: в ключевых местах выделять микросервисы. Для этой цели хорошо подходит Go, как высокопроизводительный язык, который учится за 1-2 дня, и из коробки удобен для микросервисов.
Я расскажу, как подходить к задаче такого рефакторинга и продать его заказчику, про подводные камни разработки и поддержки высоконагруженного сервиса на Go, и про внезапные проблемы с опенсорсными решениями. Кратко расскажу, как быстро и легко внедрять микросервисы при помощи современных сервисов типа Consul'а.