В Функциональных архитектурах разобрал единственный формальный способ избежать рассинхрона системы (агентов) без единого надсмотрщика. В целом, это всё про идеальный агентский фреймворк.
Ладно, спалю немного фишку: если состояние системы это элемент моноида, то все операции задаём в CRDT-семантике. Теряем конечно глобальную детерминированности лога событий, да и пофиг. Зато например агент будет (вынужден!) строить внутреннюю репрезентацию системы как коммутативный моноид, и по-другому невозможно гарантировать в математическом смысле, что при хаотичном поступлении асинхронных событий эта внутренняя картинка не схлопнется в очередную галлюцинацию.
И тогда (и только тогда, ибо теорема CAP) твоя система (агентов) продолжит работать работать и работать при сетевых задержках, перезапусках, дублировании запросов, гонке состояний...
Post #2587
569
- 🤔 27
- 🤯 8
- ✍ 6
- ❤🔥 4
- 🏆 2