Size: a a a

Архитектура ИТ-решений

2020 November 29

PT

Peter Tugolukov in Архитектура ИТ-решений
Gennadiy Kruglov
Может разъехаться с моделью записи. Иными словами, трудно будет управлять консистентностью.
Что бы не разъезжалось, надо что бы все было очень просто, минимум логики должно быть.
источник

PT

Peter Tugolukov in Архитектура ИТ-решений
Поэтому выглядит не очень.
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Да. Из серии закэшировать новостную статью или ленту блога.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Peter Tugolukov
Что бы не разъезжалось, надо что бы все было очень просто, минимум логики должно быть.
Хорошо, когда логики вообще нет, но так бывает редко. Только в стабах, обычно.
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Если дойдут руки разобраться, то напишу о результатах.
источник

PT

Peter Tugolukov in Архитектура ИТ-решений
Leonid Vygovskiy
Если дойдут руки разобраться, то напишу о результатах.
Супер, спасибо.
источник

D

Danil in Архитектура ИТ-решений
Leonid Vygovskiy
Да. Из серии закэшировать новостную статью или ленту блога.
А чем то, что вы описываете отличается от работы CDN-сервисов? Тем что они не позволяют по POST инвалидировать?
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Да, не понятно приложение.
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Наверное. Я всегда рассматривал CDN как раздачу статики. Картинки там и прочее. Можно, через них и rest запросы раздавать, но тогда, как понимаю, придется из приложения вызывать метод обновления данных в CDN
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Leonid Vygovskiy
Наверное. Я всегда рассматривал CDN как раздачу статики. Картинки там и прочее. Можно, через них и rest запросы раздавать, но тогда, как понимаю, придется из приложения вызывать метод обновления данных в CDN
Пост в ленте можно в JSON загрузить в CDN. Но сначала нужно сохранить его куда-то наверно (модель записи).
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Цепочка получится [браузер] — команда на изменение —> [приложение] — команда на обновление кэша —> [CDN]?
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Leonid Vygovskiy
Цепочка получится [браузер] — команда на изменение —> [приложение] — команда на обновление кэша —> [CDN]?
Да
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
В моей голубой мечте браузер -> кэш -> приложение, которое ничего не знает про кэш.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Почему так? Потому что в приложении что-то может пойти не так
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Геннадий, потому что это мечта ))
Но вообще да. Идеальный кейс получается, что кэш инвалидируется в момент получение response с кодом 200 OK от приложения
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Leonid Vygovskiy
Геннадий, потому что это мечта ))
Но вообще да. Идеальный кейс получается, что кэш инвалидируется в момент получение response с кодом 200 OK от приложения
Йес
источник

VN

V N in Архитектура ИТ-решений
Leonid Vygovskiy
А как его сделать на распределенном приложение? Мне интересно именно готовое решение найти. Кэширование это же основа rest
Рэдис. А ваш подход не сработает, когда инвалидация должна произойти по инициативе приложения. А не потому, что кто-то вызвал PUT
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Да, не сработает. Поэтому здесь достаточно жесткие ограничения на самое приложение. Это не универсальная штука.
источник

SB

Sergey Bezrukov in Архитектура ИТ-решений
Leonid Vygovskiy
Т.е POST /entity/id удаляет из кэша /entity/id, а последующий GET /entity/id его возвращает в кэш
Это часом не ваш случай описан:  https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_purge ?
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Возможно.      Функциональность доступна как часть коммерческой подписки.
источник