Работаю с языком Pony и собираю системы, где сотни и тысячи задач крутятся одновременно, но при этом остаются безопасными по памяти и стабильными при пиках. Если вы уже видели подходы на Erlang, Go или Rust, то у меня всё иначе устроено вокруг именно Pony: акторная модель — это множество маленьких независимых акторов, каждый со своим состоянием, которое никто снаружи не меняет. Никаких общих мьютексов, никакой ручной синхронизации: акторы шлют друг другу сообщения, планировщик рантайма распределяет работу по ядрам, и сервис растёт по нагрузке ровно, а не залипает в дедлоках при первом всплеске запросов.
Отдельная сила Pony — типы с проверкой прав доступа (reference capabilities). Компилятор ещё до старта доказывает, что два актора физически не смогут одновременно писать в одни и те же данные. То есть свобода от гонок данных — это не пожелание, а свойство, проверенное на сборке. Я строю на этом всю архитектуру: аккуратно провожу границы между акторами, выбираю подходящие права для каждого сообщения и слежу за выделением памяти, чтобы поакторный сборщик мусора не давал долгих пауз и задержка держалась ровной.
Готов взять новый сервис с жёсткими требованиями к задержкам, конвейер с плотным потоком сообщений или ускорить узкое место в уже работающем коде. Умею профилировать существующий проект на Pony, перекраивать схему акторов и подкреплять всё тестами и замерами.
— Приложения и библиотеки на Pony под ключ
— Дизайн акторной схемы: сообщения, топология, backpressure
— Права доступа в типах и архитектура без гонок данных
— Быстрые бэкенды и конвейеры с низкой задержкой
— Тонкая настройка поакторного сборщика мусора
— Замеры, нагрузочные тесты и разгон производительности
Отдельная сила Pony — типы с проверкой прав доступа (reference capabilities). Компилятор ещё до старта доказывает, что два актора физически не смогут одновременно писать в одни и те же данные. То есть свобода от гонок данных — это не пожелание, а свойство, проверенное на сборке. Я строю на этом всю архитектуру: аккуратно провожу границы между акторами, выбираю подходящие права для каждого сообщения и слежу за выделением памяти, чтобы поакторный сборщик мусора не давал долгих пауз и задержка держалась ровной.
Готов взять новый сервис с жёсткими требованиями к задержкам, конвейер с плотным потоком сообщений или ускорить узкое место в уже работающем коде. Умею профилировать существующий проект на Pony, перекраивать схему акторов и подкреплять всё тестами и замерами.
— Приложения и библиотеки на Pony под ключ
— Дизайн акторной схемы: сообщения, топология, backpressure
— Права доступа в типах и архитектура без гонок данных
— Быстрые бэкенды и конвейеры с низкой задержкой
— Тонкая настройка поакторного сборщика мусора
— Замеры, нагрузочные тесты и разгон производительности