TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Maxim Korobov — DevBlog

15 Mar, 18:42

Открыть в Telegram Поделиться Пожаловаться

Ну чтож, время разобрать задачку с собеса одного из РФ БигТехов 🟠

К счастью, на этот раз без душных алгоритмов, довольно прикладная задача. Суть следующая:


Есть N экземпляров одного микросервиса. Нужно реализовать Balancer, который:
- отправляет запрос на наименее нагруженный бэкенд
- блокирует бэкенд на 1 час, если за последние 10 минут он вернул 100+ ошибок


бэкенд из себя представляет обыкновенный интерфейс


type Backend interface {
Invoke(ctx context.Context, req Request) (Response, error)
}


структура балансера, которую надо заполнить


type Balancer struct {
// Your code
}


Необходимо реализовать метод балансера:


func (b *Balancer) Invoke(ctx context.Context, req Request) (resp Response, err error) {
// Your code
return resp, nil
}


Своим решением поделюсь в комментариях, но оставлю скрытую ошибку (может не одну) 👀
Пишите в комментариях, сколько ошибок нашли - потом подведём итоги

84 0 4 1 7
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot