Изучение

Наблюдаемые данные и жизненный цикл

Replay-latest доставка, порядок событий, ошибки, закрытие и владение ресурсами.

v0.1.0-dev.1Продвинутый уровеньark_data_layer

Наблюдаемые данные и жизненный цикл

data синхронно возвращает последнее подтверждённое значение. stream — replay-latest broadcast Stream: новый слушатель сначала получает текущее значение, а затем последующие commit.

Порядок

Публикация асинхронна. Значения ставятся в очередь в порядке принятия, а callback никогда не выполняется в стеке вызова setData. Commit из слушателя не приводит к его рекурсивному повторному входу.

Состояние, а не журнал событий

Stream представляет актуальные бизнес-данные. Он не является долговечным журналом и не гарантирует доставку exactly once. Для истории событий нужен transactional outbox, event store или другой устойчивый механизм.

Закрытие

close() идемпотентен: запрещает новые commit, вызывает closeRepository(), завершает текущие подписки и оставляет последнее значение доступным через data. Repository не закрывает общие DataSource только потому, что они находятся в его контейнере.

Порядок завершения: binding → UseCase и прикладные сервисы → Repository → DataSource и технические клиенты.

ARKTELOS

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