О нас RU

NIC.UA

http://nic.ua

NIC.UA — один из самых больших регистраторов доменных имен в Украине. Раньше сервис работал на монолитном сервере. Вместе с командой NIC.UA мы разделили его на бекенд и фронтенд. Теперь сервис стал гибким, масштабируемым и предоставляет пользователям функции интеллектуального поиска доменов.

Основные задачи, которые мы решили со своей стороны:

  1. Перевели сайт на PHP-фреймворк Symfony.
  2. Изменили принцип поиска доменов.
  3. Написали настраиваемую админ-панель для управления контентом на сайте.
  4. Внедрили горизонтальное масштабирование и непрерывную интеграцию.
  5. Реализовали веб-сокеты для быстрого поиска.

Сайт регистратора доменных имен NIC.UA

Преимущества Symfony

Чтобы сервис было легче масштабировать и поддерживать, мы перевели сайт NIC.UA на Symfony. На этом PHP-фреймворке работает ряд масштабных проектов (BlaBlaCar, Spotify, MeinFernbus), обрабатывающих огромные массивы данных ежедневно.

С нашей точки зрения, PHP-фреймворк Symfony подходит для проектов вроде NIC.UA по следующим причинам:

  • Он является актуальным фреймворком для веб-решений.
  • Функционал организован в виде бандлов, с которыми легко работать.
  • Можно выполнять команды из консоли для автоматизации некоторых действий.
  • Есть панель веб-отладки с полезными данными для профилирования работы сайта и запросов к базе данных.

Гибкая панель для управления контентом

Возможности стандартных админ-панелей сайтов крайне ограничены, поэтому для NIC.UA мы разработали настраиваемую админ-панель, из которой можно:

  • Создавать блоки, которые в неизменном виде будут отображаться в разных частях сайта.
  • Делать лендинги (например, для акционных предложений).
  • Отдельно настраивать каждую страницу сайта по своему усмотрению.
  • С такой гибкой админ-панелью можно очень тонко настраивать внешний вид страниц сайта без необходимость верстать что-либо вручную.

Реализация веб-сокетов

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

  • Не нужно открывать новое соединение с сервером для каждого нового запроса.
  • Открывается одно постоянное соединение, которое слушает события с сервера.
  • Доставка данных с сервера становится быстрее и надежнее.
  • Нет пустого трафика, данные доставляются только, если это нужно.

На сайте NIC.UA веб-сокеты используются для быстрого получения данных по доменам и показа их пользователю. Очень удобно — ведь клиент уже видит первые результаты, пока поиск еще осуществляется в фоне.

Наша миссия — упрощать жизнь людей, создавая полезное и удобное программное обеспечение
Свяжитесь с нами, и мы поможем решить ваши задачи.

Над проектом работали:

  • Владимир Сутовский Владимир Сутовский

    Менеджер проектов

  • Миша Гасюк Миша Гасюк

    Менеджер проектов

  • Миша Вильшанский Миша Вильшанский

    Back-end разработчик

  • Саша Ленский Саша Ленский

    Back-end разработчик

  • Андрей Бойчук Андрей Бойчук

    Back-end разработчик