Проєктування без зв’язку
Польові застосунки відмовляють у підвалах, ліфтах і на сільських дорогах. Правила, які ми застосовуємо:
- Кожна дія спершу записується в локальну чергу; мережа — це спосіб доставки, а не джерело істини.
- Показуйте статус синхронізації для кожного елемента (у черзі, надіслано, підтверджено), а не загальний індикатор.
- Кожній дії — ідентифікатор, згенерований на клієнті, щоб повтори не дублювали доставку.
- Правила конфліктів визначте заздалегідь: «перемагає останній запис» підходить для нотаток, але ніколи — для залишків.
- Тестуйте з авіарежимом, увімкненим посеред дії, а не лише перед нею.