Беру на себя создание реактивных бэкендов на JVM с использованием Eclipse Vert.x и строю их так, чтобы неблокирующая модель держалась под настоящей нагрузкой, а не только в демо. Центр архитектуры — цикл событий: никакой блокирующей работы на нём, тяжёлые операции уходят в отдельные вертиклы или executeBlocking, а путь запроса проектируется так, что один поток спокойно тянет тысячи параллельных соединений. Уделяю внимание тому, что реально определяет производительность: обратное давление в потоках, пулы подключений, разумные тайм-ауты и предсказуемая обработка ошибок вместо бесконечных повторов, которые усугубляют аварию.
На Vert.x я делал сервисы, где важны скорость отклика и одновременность: стриминговые интерфейсы, шлюзы на WebSocket, обмен сообщениями, приём телеметрии и платформы, раскидывающие нагрузку по кластеру. Шина событий даёт слабую связанность модулей, реактивные потоки — управляемое движение данных, а кластеризация подключается, когда ресурсов одного узла перестаёт хватать. Вы получаете сопровождаемое решение: описанную архитектуру, тесты с нагрузочными сценариями, метрики и трассировку. Готов стартовать с чистого листа, привести в порядок проблемный реактивный код или аккуратно перевести классическое приложение «поток на запрос» на событийную модель поэтапно.
Чаще всего работаю над:
— интерфейсами реального времени и шлюзами WebSocket/SSE;
— конвейерами приёма и стриминга данных под высокую конкуренцию;
— кластерными сервисами на шине событий с обратным давлением;
— оптимизацией и переходом с блокирующих технологий.
На Vert.x я делал сервисы, где важны скорость отклика и одновременность: стриминговые интерфейсы, шлюзы на WebSocket, обмен сообщениями, приём телеметрии и платформы, раскидывающие нагрузку по кластеру. Шина событий даёт слабую связанность модулей, реактивные потоки — управляемое движение данных, а кластеризация подключается, когда ресурсов одного узла перестаёт хватать. Вы получаете сопровождаемое решение: описанную архитектуру, тесты с нагрузочными сценариями, метрики и трассировку. Готов стартовать с чистого листа, привести в порядок проблемный реактивный код или аккуратно перевести классическое приложение «поток на запрос» на событийную модель поэтапно.
Чаще всего работаю над:
— интерфейсами реального времени и шлюзами WebSocket/SSE;
— конвейерами приёма и стриминга данных под высокую конкуренцию;
— кластерными сервисами на шине событий с обратным давлением;
— оптимизацией и переходом с блокирующих технологий.