Баланс, как я понимаю у вас хранится в БД. То есть, при постановке ордера вы достаете число, списываете с него сумму и кладете ордер в "стакан" или на исполнение со ссылкой на юзера которому ордер принадлежит, чтобы ему вернуть деньги или то что он купил? Могу ли я быстрыми запросами наполнить стакан ордерами на сумму большую, чем у меня есть на балансе? Понятие "заморозки" средств на балансе есть?
У меня сейчас эта проблема решается блокировками. Новый ордер выставить (и отменить) нельзя пока не закончится добавление предыдущего ордера.
Когда пользователь делает вывод, он тоже блокируется для ордеров. Когда вывод подтвердится и база обновится, блок убирается.
Если запросы обрабатываются асинхронно, то что обеспечивает синхронизацию? Сериализуются ли запросы?
Яваскрипт умеет только асинхронно. Синхронизация обеспечивается блокировками.
Судя по логам, ип адрес вашего провайдера забанен гуглом. Либо поменяйте провайдера, либо одно из двух...
С утра работало.