Date: 2025-01-30 09:48 am (UTC)
amarao: (Default)
From: [personal profile] amarao
Примерно так же, как и любая другая ситуация с нехваткой ресурса.

1. Сервер не использует примонтированный по сети sqlite, а использует базу данных с гарантиями по таймаутам и fallable операции.
2. Клиент, при общении с сервером, использует локальное кеширование (для local first работы)
3. Если сервер не выполняет операцию за ожидаемое время, клиенту не важно по какой причине сервер не выполнил операцию, это таймаут операции. Если операция в бэкграунде, то она отправляется на retry с exponential fallback, а серверу набирают баллы проблем (чтобы показать, что это проблема сервера).
4. Если это интерактивная операция (отправка письма), задача становится в очередь, и по таймауту клиенту дают опцию: попробовать снова, отложить операцию, сохранить черновик локально, отменить полностью.
5. Трекинг проблем с операциями - пометка на сервер, мол, сервер испытывает проблемы.
6. Recoverable локальный стейт, закрытие клиента в любой момент времени позволяет восстановить состояние клиента (включая полу-набранное письмо).
7. Для race conditions между recoverable state и состоянием сервера - at least once. Лучше дважды отправить письмо, чем потерять его.

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

amarao: (Default)
amarao

June 2025

S M T W T F S
12 3456 7
8 9101112 1314
1516171819 2021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 22nd, 2025 08:08 pm
Powered by Dreamwidth Studios