Size: a a a

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

2021 July 12

p

pragus in Архитектура ИТ-решений
Ну да, можно самому напилить себе лимитов.
источник

D

Danil in Архитектура ИТ-решений
ну это я просто, чтобы не уходить в тему обсуждения оркестраторов, потому что лимиты это функционал ОС
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ограничения на создание объектов, например. Это реально не проблема.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
А что делает сервис, если у него память кончилась? Падает с OOM?
источник

p

pragus in Архитектура ИТ-решений
А как песочницу себе сделать в монолите? Например, у нас чувствительные данные и мы хотим запретить подсистеме аутентификации создавать tcp-соединения?
источник

p

pragus in Архитектура ИТ-решений
Как вариант. Но есть более мягкий сценарий с PSI
источник

PD

Phil Delgyado in Архитектура ИТ-решений
А зачем? Разве у тебя монолит пишут враги? Ты просто не создаешь эти соединения (правда, не понятно, а в чем смысл такого ограничения для монолита...)
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Если падает, то какая разница, сервис или монолит?
источник

p

pragus in Архитектура ИТ-решений
Так мы должны знать сколько объект весит + каждую аллокацию обвесить проверкой "а не вылезли мы за лимиты?".
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Зачем? Там достаточно довольно верхнеуровневой оценки. Типа "кэшируй не более 10mln объектов".
Это все легко настраивается и конфигурируется в реальной жизни под реальный сайзинг.
источник

p

pragus in Архитектура ИТ-решений
Падаёт только часть, а не весь монолит. Опять же, до падения уже будет алерт по памяти(и мы сразу будем знать какой сервис), а через PSI сервис сам узнает о проблемах и может что-то с этим делать.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Точно так же у тебя и для монолита будет алерт.
И какая разница, сколько упадет, если бизнес-функции встали.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Но, еще раз, в большей части проектов вообще нет таких задач, если эти задачи появляются - для них есть свои решения.
А переходить на микросервисы (со всем ростом стоимости разработки под микросервисы) только ради бюджетов - нужен очень специалный проект, мне такой даже в голову не приходит.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Проблема распределенных транзакций обойдется в разы дороже, нежели добавить еще пару сотен гигов памяти или написать нормальные тесты )
источник

p

pragus in Архитектура ИТ-решений
Я не про кеширование, а про объекты которые создаются в нормальной жизни. Обработка 1 запроса создаёт не так много объектов, но из-за того что запросов много суммарно может оказаться что память уже кончилась. А дальше цирк в виде пейджинга(и время ответа улетает в небеса), либо OOM.
источник

p

pragus in Архитектура ИТ-решений
Разница в частичной недоступности или полной. Я ж не просто так пишу про graceful degradation. То что клиенту не  покажут какой-то саджест не так страшно, как полная недоступность(потому что мы таки решили всем пришедшим показать саджесты).
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, если запросов настолько много, что они съедят всю память (гм, не видел такого, обычно скорее в проц упираемся), то там логично думать о горизонтальном масштабировании (или просто добавить память).
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Еще раз, graceful degradation требует отдельного подхода к проектированию и реализации.
И да, в монолите тоже можно делать )
источник

p

pragus in Архитектура ИТ-решений
Там была проблема low latency. Т.е. если мы ответили не за 10ms, то это уже фейл.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Это довольно специфические требования для системы. Это где такое было?
источник