Обновить

Комментарии 4

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

Думаю, здесь произошла небольшая терминологическая путаница. Мой пакет никакого отношения к паттерну Flyweight (в Википедии переводится на русский как «Приспособленец») не имеет. Слово «летучий» мной употребляется не в смысле «легковесный», а в смысле мобильный, переносимый.

У меня реализована Акторная модель, о которой, с некоторым допущением, можно сказать, что это аналог микросервисов, воплощённый внутри Python-приложения. Главное отличие от классических микросервисов — акторы общаются через очереди сообщений внутри процесса, а не по сети, что даёт меньшие накладные расходы, но сохраняет изоляцию и заменяемость компонентов, правда, отнимает возможность использования разных языков программирования.

Соответственно, область применения — примерно та же, что и у микросервисов:

Сложная бизнес-логика - расчёты, скоринг, логистика, ценообразование.

Обработка потоков событий с динамическим добавлением новых обработчиков в рантайме.

Платформы автоматизации (Low/No-code) — сборка пользовательских процессов из готовых блоков-акторов.

А в чем принципиальное отличие фреймворка от https://thespianpy.com/doc/ ?

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

Единственное принципиальное отличие, которое я нашел, - это то, что Thespian построен на multiprocessing (с некоторыми оговорками), а peacepie - на asyncio (оговорки также присутствуют).

Хотя, даже попытка сравнить очень льстит, поскольку Thespian - профессиональный инструмент с командой из 14 человек, а peacepie - первый проект на Python одного человека, правда, немного затянувшийся.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации