О нас RU

NIC.UA

http://nic.ua

NIC.UA — крупнейший регистратор доменных имен в Украине и является лидирующим по инновациям. NIC.UA регистрирует домены и поддерживает их на собственных серверах имен, предоставляет хостинг, оформляет торговые марки и SSL-сертификаты. Компания была создана в 2007 году.

В основе системы старого сайта был монолитный сервер. Вместе с командой NIC.UA мы разделили систему на фронтенд и бекенд. Бекендом занимались разработчики NIC.UA, фронтендом — компания Stfalcon.com, а дизайнеры Александр Зайцев и Александр Колодько сделали сайт удобным и функциональным. Благодаря этому сервис стал более гибким и легко масштабируемым. Фронтенд был построен на Symfony2, это умная система, задача которой — взаимодействие между пользователем и мощным API бекенда. Она не только отображает страницы сайта, но и умеет интеллектуально подобрать нужный домен для клиента.

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

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

Преимущества PHP-фреймворка Symfony

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

Актуальность

Является самым популярным PHP фреймворком в мире из-за высокой скорости работы и гибкости настройки для веб-решений.

Расширяемость

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

Автоматизация

Можно выполнять некоторые команды из консоли.

Удобство

Наличие панели веб-отладки с полезными данными для профилирования работы сайта и запросов к базе данных.

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

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

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

Новый интеллектуальный поиск доменов

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

Функция транслитерации, подбора синонимов и переводов.

Пользователям не нужно повторять поиск, чтобы получить все наилучшие варианты. Теперь, подходящий для бизнеса домен, вы найдете еще быстрее.

Фильтры доменов.

Можно выбрать популярные, международные, украинские или региональные домены.

«Умное кеширование».

Сервис не совершает лишних запросов к реестрам и не замедляет работу системы.

Как это работает?

Например, если клиент ищет домен для цветочного магазина, то в результатах поиска будут:

  • для домена cvety.ua варианты с указанием необходимости зарегистрировать торговую марку;
  • варианты с транслитерацией: поиск «cvety» также выдаст домены со словом «цветы»;
  • синонимы: поиск «flowers» также выдаст домены со словом «bouquet-of-red-roses»;
  • переводы: поиск «цветы» также выдаст домены со словом «flowers».

Можно использовать удобный фильтр, чтоб выбрать популярные, международные, украинские или региональные домены.

Горизонтальное масштабирование и непрерывная интеграция

Взаимодействие с серверной частью NIC.UA осуществляется посредством API. Мы реализовали логику его работы и настроили беспрерывную интеграцию (Continuous Integration) с помощью GitLab. Такой тип интеграции предполагает постоянное формирование основной ветки разработки с кодом от нескольких программистов, создание автоматических сборок и их тестирование. Благодаря беспрерывной интеграции нужные изменения вносятся проще и быстрее.

Существует два вида масштабирования:

  1. Вертикальное — ресурсы добавляются к одному серверу.
  2. Горизонтальное — расширение происходит за счет увеличения числа серверов.

Поскольку сайт NIC.UA должен выдерживать большие перепады нагрузок, стояла задача построить горизонтальное масштабирование проекта. Была создана система из нескольких серверов, часть из которых являются балансировщиками и распределяют нагрузку для остальных серверов. Если случится сбой, сервис продолжит работу, поскольку все задачи будут выполняться на исправном сервере, а неработающий будет игнорироваться. Так обеспечивается отказоустойчивость системы.

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

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

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

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

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

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

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

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

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

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

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

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