Описание услуги
Я разрабатываю конкурентные и распределённые системы на Akka, на Scala или Java, и уже несколько лет превращаю модель акторов в код, который спокойно держит нагрузку. Когда сервису нужно обрабатывать десятки тысяч одновременных запросов, хранить состояние по каждому пользователю в памяти и при этом не терять сообщения, я проектирую иерархию акторов, стратегию супервизии и back-pressure так, чтобы сбой оставался локальным событием, а не превращался в отказ всей системы.
Я работаю со всем инструментарием Akka: кластеризация и cluster sharding для распределения сущностей по узлам, Akka Streams для ограниченных пайплайнов с обратным давлением, persistence и event sourcing с CQRS, чтобы модели записи и чтения развивались независимо, а также разрешение split-brain, чтобы сетевое разделение не портило данные. Забочусь и о том, что вспоминают только в бою: пассивация неактивных акторов, обновления без простоя, доставка at-least-once с идемпотентными обработчиками.
Обращайтесь, если хотите систему, которая честна к конкурентности, а не прячет её за блокировками. Я разберу вашу текущую архитектуру или начну с чистого листа, напишу протестированных акторов и отдам код, в котором можно разобраться. Типичные задачи:
— новые бэкенды на акторах и протоколы сообщений;
— перенос блокирующего сервиса на Akka Streams;
— добавление cluster sharding и event sourcing в живое приложение;
— спасение проекта, который под нагрузкой упирается в дедлоки и течёт акторами.
Я работаю со всем инструментарием Akka: кластеризация и cluster sharding для распределения сущностей по узлам, Akka Streams для ограниченных пайплайнов с обратным давлением, persistence и event sourcing с CQRS, чтобы модели записи и чтения развивались независимо, а также разрешение split-brain, чтобы сетевое разделение не портило данные. Забочусь и о том, что вспоминают только в бою: пассивация неактивных акторов, обновления без простоя, доставка at-least-once с идемпотентными обработчиками.
Обращайтесь, если хотите систему, которая честна к конкурентности, а не прячет её за блокировками. Я разберу вашу текущую архитектуру или начну с чистого листа, напишу протестированных акторов и отдам код, в котором можно разобраться. Типичные задачи:
— новые бэкенды на акторах и протоколы сообщений;
— перенос блокирующего сервиса на Akka Streams;
— добавление cluster sharding и event sourcing в живое приложение;
— спасение проекта, который под нагрузкой упирается в дедлоки и течёт акторами.