Александр Карабанов, ну так-то да... Но раз существует понятие "Layer 3 Switching", то я себе допустил такое упрощенное именование для маршрутизации между VLAN.
Илья лук, оно не лучше. Оно по разному и для разных задач. Если трафик маршрутизировать не нужно и он транзитный, без фильтрации, ната и прочего - L2 подойдёт. В противном случае маршрутищируемые vlan на L3 нужны. Что в твоём случае подойдёт?
Capitollium, зависит от того какой маршрутизатор будет пограничным. Если сети организаций полностью изолированы будут, достаточно изолировать порты организаций, запретив маршрутизацию между ними. И для каждой свой src-nat с соответсвующим ip
Можно было бы что-то ответить, но непонятно что, чем и на чем планируется вычислять? И зачем необходимо кластеризовать именно на уровне железа, а не ПО?
Иван Шумов, Вопрос, к сожалению, не содержит достаточно конкретной информации о реализации. Если суть проблемы в том, чтобы не позволить одному и тому же пользователю дважды изменить сумму, то должно быть достаточно SELECT ... FOR UPDATE (приведет к блокировке других операций чтения для данных строк с FOR UPDATE) по id пользователя + id того кто выполнил запрос, а затем выполненить операцию по увеличению суммы. Порядок исполнения транзакций, судя по задаче, не важен.
Максим Компаниец, явно nginx тут не виноват и нет смысла мучать его. Либо вовсе временно уберите его из цепочки.
В логи докера по умолчанию сыпятся обычно только из stdout. Нужно логи каждого сервиса писать туда, либо в файл/каталог примонтированный через volume в файловую систему хоста. Без логов можно продолжать угадывать очень-очень долго. Bad Gateway означает что ваш бекенд вернул ошибку
А ч о у вас там с числом воркеров в gunicorn? Не выжираются ли все доступные процессы?
Другой вариант - какие-то из запросов вводят ваш код в бесконечный цикл, что, опять же, приводит к выеданию всех доступных потоков в gunicorn.