Pull to refresh
8K+
4
Александр@AlexB2012

Архитектор

10
Rating
Send message

Как я придумывал замену Redis и что из этого получилось

Level of difficultyMedium
Reading time4 min
Reach and readers11K

Некоторое время назад мне пришла задача спроектировать высокопроизводительный балансировщик нагрузки для протокола Diameter. Через 3 месяца задача исчезла, так как как оказалось слишком долго и дорого, но в итоге балансировщик был сделан и имеется его MVP которое готово к установке как на реальное железо так и в облаке. В итоге продукт получился неплохим, и он с лихвой выигрывал имееющееся решение в той компании, по производительности был выигрыш раз в 6 по ресурсам раз в 100. Но суть не в этом, а в том что балансировщик был кластерным и умел хранить сессии в Redis. Решение было сделано, оно показало работоспособность, все хорошо, но меня не устраивала производительность. В тот момент я столкнулся с очень интересной проблемой - по каким то причинам я не мог пробить барьер в 5-7К Diameter Transactions per second. В принципе 5-7К TPS было неплохо, но проблемным участком как показал анализ был Redis. Проведя немного времени я смог добиться приемлемого результать и производительность поднялась до 20К TPS но там были другие проблемы.

Читать далее

Information

Rating
791-st
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity

Specialization

Архитектор программного обеспечения
Ведущий
Linux
C++
Java