Запускаем афишу образовательных курсов на «Моём круге». Читать подробности
Профессиональные навыки
Участие в профессиональных сообществах
Опыт работы
Developers Unknown
Москва
Разработчик
Март 2018 — По настоящее время (1 год и 7 месяцев)

Работаю в команде по разработке мобильного многопользовательского онлайн шутера.
Основные фреймворки: Spring и SmartFoxServer 2X.

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

Реализовывал разбиение основного приложения на микросервисы, средствами Spring Boot и Spring Data.

Реализовал микросервис по работе с Hazelcast. Реализовал взаимодействие микросервисов с ним с помощью Spring Data Hazelcast, но в итоге отказались от Spring Data для этого.

Реализовал взаимодействие между сервисами с помощью Hazelcast. Добавил мониторинг состояния Hazelcast, а также обновление игровых данных в кеше микросервисов после повторного соединения с Hazelcast.

Реализовал хранение профилей игроков в разных базах данных и создание/управление ими. Реализовал систему команд между Hazelcast и игровыми микросервисами на получение/создание профилей игроков.

Реализовал Service Discovery с помощью Consul и взаимодействие микросервисов с ним. Реализовал ответы на REST запросы получения списка активных микросервисов из Consul.

Написал скрипты Ansible по установке HA кластера Postgres в связке с HAProxy и Consul. Также написал Ansible скрипты по установке всех микросервисов с помощью Maven, а также софта, который им требуется. В Jenkins добавил модуль по работе с Ansible и задания по сборке всех микросервисов с использованием Pipeline.

Реализовал связь микросервиса по работе с базой данных с несколькими видами баз данных, а также множественные соединения с различными HA кластерами Postgres.

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

После внедрения нового функционала, пишу тесты с использованием JUnit, Mockito.

Провожу Code Review pull-риквестов коллег в Git.

Внедрил Liquibase, а также пишу ченджлоги для него.

Установил SonarQube и написал Ansible скрипт по его установке.

Переносил инфраструктуру на другие сервера - все перенес с помощью Ansible. Также перенес без потери информации: Jenkins, Nexus, OwnCloud с 500GB данных. Прописал новые IP адреса для доменов, так что переезд состоялся почти без downtime.

По совместительству, выступаю в роли Devops:
- управление виртуалками на CentOS.
- поддержка сетевой инфраструктуры.
- установка новых приложений.
- развертка сервисов средствами Ansible.
- написание скриптов под Ansible.
- создание заданий в Jenkins.

ИП Дмитриев Николай Алексеевич
Москва
Разработчик
Сентябрь 2009 — Март 2018 (8 лет и 7 месяцев)

Было открыто свое ИП.

В основном была разработка и поддержка серверной части онлайн игры.
Также разрабатывал всевозможные дополнения и различные модификации под нее, исходя из запроса клиентов.
Серверная часть продавалась под собственным брендом.
У крупных клиентов выступал в роли технического администратора, разворачивая сервер на linux и поддерживая его.
Сетевая часть была на NIO и постоянно оптимизировалась, т.к. на крупных проектах онлайн превышал 2000 живых игроков.

Реализовывал API платежных шлюзов по обработке платежей игроков и выдачи наград в игре.

Иногда были заказы по веб-разработке, занимался разработкой сайтов и интернет-магазинов.
Из самого крупного по веб-разработке - система управления магазином автозапчастей и автосервисом. Для заполнения базы автомобилей и автозапчастей - был написан парсер под один крупный сайт, который собрал базу.

Высшее образование
Национальный исследовательский университет «Московский институт электронной техники»
Зеленоград
Факультет: Дополнительного и дистанционного обучения (ФДДО)
Февраль 2012—Апрель 2012 (2 месяца)

Курсы: программирование на языке Java.

Факультет: Дополнительного и дистанционного обучения (ФДДО)
Сентябрь 2001—Май 2004 (2 года и 8 месяцев)
Курсы: основы программирования, turbo pascal, c++.