Поделиться через


Зависимости записей

Одноранговая инфраструктура не гарантирует порядок получения и обработки записей. Если приложение имеет зависимости записей, что означает, что обработка или проверка одной записи зависит от другой записи, приложение должно иметь возможность обрабатывать ситуации, когда записи могут быть получены в произвольном и непредсказуемом порядке. Например, приложение чата может иметь два типа записей: запись, которая содержит сведения о конкретном пользователе, и запись, содержащая сообщение чата, ссылающееся на запись пользователя.

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

Для обработки зависимостей записей хорошо спроектированное приложение состоит из следующих компонентов:

  • Перед выполнением действия всегда проверяет наличие зависимостей записей.
  • Прогнозирует условия, которые могут возникнуть при получении записей в непредвиденном порядке, а затем обрабатывает ситуацию.