Волновой узел
Волновой узел («Wave node») – это автономный локальный фрагмент глобального вычислительного пространства, обладающий в контексте волновой модели следующими свойствами:
- Автономность («Autonomy») — собственные жизненный цикл и память состояния. Узел функционирует независимо от синхронизации с другими узлами. Взаимодействие узла с внешним миром осуществляется исключительно через обмен артефактами.
- Причинность («Causality») — строго монотонно возрастающий локальный порядок операций, формируемый по отдельности для каждой из волн, проходящих через узел. Между операциями, принадлежащими одной волне, детектируется причинно-следственная связь: предшествующая операция считается причиной для последующей. Узел использует однопоточный детектор операций, что гарантирует соответствие между фактическим порядком выполнения операций и порядком их регистрации.
- Транзитивность контекста («Context Bridge») — привязка всякого входящего артефакта к волновому контексту последней зарегистрированный в узле операции. Для определения последней в текущей локальности операции учитываются все операции во всех протекающих в узле волнах, для чего и используется общий однопоточный локальный детектор. Таким образом, новые волны, порождаемые входящими артефактами, получают якорную связь с прошлым без объявления явной причинности. Новая волна формирует новый контекст, который, в свою очередь, может быть унаследован следующим артефактом, и т. д.
Примеры волновых узлов:
- мобильное приложение пользователя;
- «умный» терминал (постамат, самокат, банкомат и т.п);
- backend-gateway для мобильного приложения;
- backend-микросервис с БД или InMemory-кешом;
- мобильное приложение сервисной службы.