Как стать автором
Обновить

Компания MaximaTelecom временно не ведёт блог на Хабре

Сначала показывать

Изоляция микросервисов по данным при миграции с монолита

Время на прочтение15 мин
Количество просмотров4.7K

Здравствуйте! Меня зовут Дмитрий Моряков, и я ведущий системный аналитик в компании МаксимаТелеком. Теме миграции с монолита на микросервисную архитектуру (здесь и далее — МСА) за последние годы на страницах Хабра было посвящено немало материалов, поэтому я хотел бы сосредоточиться на узких аспектах этого процесса: выделении критической части при реализации пилотного проекта миграции на МСА и реализацию изоляции полученных микросервисов по данным.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии14

Лайк, если читаешь логи!: запускаем Hotspot 2.0 на сети Wi-Fi в метро

Время на прочтение12 мин
Количество просмотров25K
Делимся опытом создания закрытой сети Wi-Fi в метро с использованием технологии Hotspot 2.0, первой статистикой, рекомендациями по безопасности. А также приглашаем к открытому тестированию новой сети.


Читать дальше →
Всего голосов 29: ↑21 и ↓8+13
Комментарии53

Синхронизация клиентских запросов в Spring

Время на прочтение5 мин
Количество просмотров10K
Сегодня предлагаю Вам разобрать одну практическую задачу о гонке клиентских запросов, с которой я столкнулся в МаксимаТелеком при разработке back-end для нашего мобильного приложения MT_FREE.

При старте клиентское приложение асинхронно отправляет «пачку» запросов к API. Приложение имеет идентификатор clientId, на основании которого можно различить запросы одного клиента от другого. На каждый запрос на сервере выполняется код вида:

  // получаем из репозитория данные клиента
  Client client = clientRepository.findByClientId(clientId);
  // если клиент не создан ранее
  if(client == null){
      client = clientRepository.save(new Client(clientId));
  }
  // далее обрабатываем запрос  

где сущность Client имеет поле clientId, которое должно являться уникальным и имеет для этого в базе unique constraint. Так как в Spring каждый запрос будет выполнять данный код в отдельном потоке, даже если это запросы от одного и того же клиентского приложения, будет возникать ошибка вида:
integrity constraint violation: unique constraint or index violation; UK_BFJDOY2DPUSSYLQ7G1S3S1TN8 table: CLIENT

Ошибка возникает по очевидной причине: 2 или более потоков с одним clientId получают сущность client == null и начинают ее создавать, после чего при коммите получают ошибку.

Задача:


Необходимо синхронизировать запросы от одного clientId так, чтобы только первый запрос выполнил создание сущности Client, а остальные блокировались бы на момент создания и получали бы уже созданный им объект.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии26

Будни MT_FREE: несколько историй про влияние сторонних сервисов на работу публичного Wi-Fi

Время на прочтение8 мин
Количество просмотров12K


Интернет — большая и динамичная среда, где всё друг с другом тем или иным способом связано и может друг на друга влиять. Такая зависимость, когда небольшое изменение в одной части системы может привести к полному изменению другой, в народе называют «эффектом бабочки». Эффект прекрасно иллюстрирует, как один «удачно брошенный на пульт валенок» способен обрушить крупный сервис и заодно еще парочку совсем чужих… Об этом и поговорим.
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии119

Как мы аудировали Wi-Fi в метро Дели и что из этого вышло

Время на прочтение7 мин
Количество просмотров10K


В мае этого года МаксимаТелеком подписала соглашение с индийской компанией TechnоSаtComm (TSC), в рамках которого должна была провести аудит уже существующей Wi-Fi сети в метрополитене Дели.

Wi-Fi в метро Дели — это совсем не то же самое, что Wi-Fi Московского и Петербургского метрополитенов. Хотя бы потому, что сеть там построена только на некоторых станциях (а не в поездах) и еще не монетизируется. Строительство сети Wi-Fi в поездах также предусмотрено контрактом с Метрополитеном Дели и должно начаться в 2019 году. Именно поэтому TSC пригласила МаксимаТелеком в качестве консультанта и партнера. Мы должны были оценить техническую возможность реализации полноценного проекта, оценить ресурсы, провести аудит самой концепции и проверить актуальность примененных технических решений.

Читать дальше →
Всего голосов 28: ↑21 и ↓7+14
Комментарии52

5G против Wi-Fi: ожидание и реальность

Время на прочтение22 мин
Количество просмотров47K


В последнее время все чаще обсуждается вопрос о будущем сетей Wi-Fi в связи с ожидаемым массовым строительством сотовых сетей пятого поколения. Действительно, зачем нужен Wi-Fi в мире, где сотовые сети обеспечивают миллиарды людей высокоскоростным доступом в интернет? Остановится ли в развитии семейство стандартов Wi-Fi с приходом 5G? Уйдет ли технология с рынка, завершив свою «историческую миссию»? Всем, кто ответил на эти вопросы утвердительно, посвящается эта статья. Всем остальным, кто разбирается в сетевых технология, надеемся, тоже будет интересно почитать.

Спойлер
Проиллюстрировать текст о «борьбе» двух технологий мы решили кадрами из бессмертной трилогии «Матрица», в которой борьба между машинами и людьми закончилась сосуществованием.

Несмотря на кажущуюся важность и логичность, вопросы о соперничестве Wi-Fi и 5G построены на искусственном противопоставлении родственных по сути, но различных по моделям применения технологий. Большинство утверждений о недолговечности Wi-Fi принадлежит представителям сотовых операторов, в конце статьи мы расскажем, почему.

А пока попробуем вместе развеять два заблуждения – «5G гораздо быстрее Wi-Fi» и «Wi-Fi очень скоро умрет». Для начала вернемся в прошлое и разберемся, что же такое 5G и что такое Wi-Fi.

Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии38

Wi-Fi под Невой: как мы построили сеть в самом глубоком метро мира

Время на прочтение7 мин
Количество просмотров16K


Свой блог на Habrahabr мы начали с нашего первого и главного проекта — рассказали о том, как четыре года назад построили первую в мире бесплатную сеть Wi-Fi в подвижном составе московского метро. Получив первый опыт строительства транспортной сети Wi-Fi, наша команда реализовала проект еще раз, но уже для жителей Северной столицы.

Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии59

WI-FI в метро: Поймай меня, если сможешь. Сложности конфигурирования динамических сетей

Время на прочтение8 мин
Количество просмотров14K


Когда Wi-Fi только появился на первых линиях метро, мы поняли, что превращаемся в героя Билла Мюррея из «Дня сурка». С той лишь разницей, что он каждый раз просыпался 2 февраля, а мы неделями пытались поймать поезда хотя бы одной ветки и залить на них одну и ту же конфигурацию. Настраивать ее вручную было плохой идеей — поезда уходили в депо и стояли там несколько дней.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии33

WI-FI в метро: архитектура сети и подземные камни

Время на прочтение7 мин
Количество просмотров73K

Всего за пару лет поездка москвича в метро перестала быть ежедневной рутиной. Если раньше единственным развлечением в подземке были чтение книг, прессы и MP3-плеер, то теперь к ним добавились онлайн-шоппинг, просмотр сериалов, деловая переписка, даже знакомства в Tinder и квесты. А все благодаря появлению в метро бесплатной сети Wi-Fi. Порядка 80% москвичей регулярно подключаются к сети MT_FREE в метро, не задумываясь, как это работает и чьими силами это сделано. Бытует мнение, что Wi-Fi в метро “провел” сам метрополитен, но это не совсем верно. Беспроводная сеть — это проект “МаксимаТелеком”. Для компании это был первый опыт строительства высокоскоростной сети Wi-Fi с уникальными в мировой практике инженерными и техническими решениями. В этом посте мы расскажем, как организована сеть Wi-Fi в метро Москвы.
 
Читать дальше →
Всего голосов 102: ↑99 и ↓3+96
Комментарии295