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

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

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

Преамбула

Некоторое время назад передо мной встала задача спроектировать высокопроизводительный балансировщик нагрузки для протокола Diameter. Через три месяца проект на стороне заказчика свернули — решение показалось слишком долгим и дорогим в разработке. Тем не менее, я довел дело до конца и собрал MVP, готовый к развертыванию как на «голом железе», так и в облачной инфраструктуре.

Продукт получился отличным: он с лихвой выигрывал у имевшегося в компании решения, превосходя его по производительности примерно в 6 раз, а по эффективности использования ресурсов — почти в 100 раз.

Но речь сейчас не о самом балансировщике, а об одной из его ключевых частей. Балансировщик был кластерным и хранил сессии в Redis. Система работала, функциональность была подтверждена, но меня категорически не устраивала производительность. Я столкнулся с удручающим барьером: по непонятным на первый взгляд причинам система упиралась в 5 000–7 000 Diameter Transactions Per Second (TPS).

Похожие статьи

Аргументы и Факты
Аргументы и Факты

Испуг прошел. Появилось объяснение заявлениям Стубба о связях с РФ

В ближайшие несколько недель или месяцев западным странам стоит наладить контакты с Россией, заявил финский лидер.

Аргументы и Факты
Аргументы и Факты
Аргументы и Факты

«Утопленник» ожил в полиции после 5 часов в озере: что известно

Мужчина заснул в воде. Как такое возможно?

Аргументы и Факты
Спорт-Экспресс
Спорт-Экспресс

Синхронисты Румянцева и Захаров победили на юниорском чемпионате мира в технической программе микст-дуэтов

Россияне Алина Румянцева и Захар Трофимов завоевали золото юниорского чемпионата мира по синхронному плаванию в технической программе среди смешанных дуэтов.

Спорт-Экспресс
CAS увеличил на год срок дисквалификации российского легкоатлета Михаила Акименко Чемпионат
Чемпионат

CAS увеличил на год срок дисквалификации российского легкоатлета Михаила Акименко

Спортивный арбитражный суд (CAS) увеличил срок дисквалификации серебряного призёра чемпионата мира – 2019 в прыжках в высоту Михаила Акименко за нарушение антидопинговых правил.

Чемпионат
Аргументы и Факты
Аргументы и Факты

Мужчина провел 4 дня в коме после укуса паука

62-летний мужчина четыре дня провел в медикаментозной коме после укуса паука. Врачи диагностировали у него сепсис и некротизирующий фасциит.

Аргументы и Факты
Аргументы и Факты
Аргументы и Факты

Стали известны подробности взрыва на заводе боеприпасов в Италии

Взрыв на заводе боеприпасов KNDS под Римом произошел в неиспользуемом складском помещении, где не было сотрудников и материалов. Прокуратура исключила диверсию.

Аргументы и Факты