2 месяца невозможно пополнить Подорожник в терминалах в...

2 месяца невозможно пополнить Подорожник в терминалах в метро (часть времени пополнение не работало даже через кассы). Обещают в начале октября все починить. Прогрессивная часть населения уже освоила Яндекс.Деньги и валидатор (который только для проверки баланса — на нем можно активировать платежи из интернета), правда через ЯД комиссия 3%: https://money.yandex.ru/shop.xml?scid=4006

Наконец появились первые комментарии о причинах. Что может вызвать тотальный отказ терминалов, может в коде был зашит сбой на случай если разработчику не заплатят? Как бы не так, это обычные блокировки транзакций в базе:

«Система не была рассчитана на столь широкое использование: она оказалась перегружена из-за увеличения числа стационарных терминалов: на каждой станции сейчас установлены два-три таких аппарата»

Очевидно, что количество терминалов тут ни при чем: во-первых, от добавления 101-го терминала система не накрывается медным тазом, если при ста терминалах она нормально работала. Во-вторых, часто ли приходят запросы от терминала, сколько людей одновременно на всех станциях нажимают кнопку "пополнить кошелек"? Ну, может, один запрос в секунду там и есть. Десяток одновременно в час пик. Любая база данных под любой сторонней нагрузкой сможет такое выдержать, если она вообще способна обрабатывать запросы. Пассажиропоток тоже вряд ли увеличился в несколько раз.

Однако пишут: «Также оптимизирован алгоритм самих запросов таким образом, что время запроса и получения ответа сократилось в два раза». То есть дело все-таки в архитектуре работы с базой данных. Интересно было бы почитать как так вышло, что система не выдержала небольшого увеличения нагрузки (почему оно в нее не было заложено — понятно, в статье упоминается классический распил, основного виновника которого фактически отпустили). Жаль, что вряд ли узнаем.
2 months it is impossible to replenish Psyllium in the terminals in the subway (part of the time, the replenishment did not work even through the ticket office). They promise to fix everything in early October. The progressive part of the population has already mastered Yandex.Money and a validator (which is only for checking the balance - you can activate payments from the Internet on it), though through the Poison 3% commission: https://money.yandex.ru/shop.xml?scid=4006

Finally, the first comments about the reasons appeared. What can cause a total failure of the terminals, maybe a failure was made in the code in case the developer is not paid? However, these are the usual transaction locks in the database:

“The system was not designed for such widespread use: it turned out to be overloaded due to an increase in the number of stationary terminals: two or three such devices are now installed at each station”

Obviously, the number of terminals has nothing to do with it: firstly, the system is not covered by a copper basin from the addition of the 101st terminal, if it worked normally with a hundred terminals. Secondly, how often do requests come from the terminal, how many people at the same time click on the "replenish wallet" button at all stations? Well, maybe one request per second is there. A dozen at the same time during rush hour. Any database under any external load will be able to withstand this, if at all capable of processing requests. Passenger traffic is also unlikely to increase several times.

However, they write: "The algorithm of the requests themselves is also optimized in such a way that the time for requesting and receiving a response is halved." That is, the thing is still in the architecture of working with the database. It would be interesting to read how it turned out that the system could not withstand a slight increase in the load (why it was not included in it - of course, the article mentions the classic cut, the main culprit of which was actually released). It is a pity that we are unlikely to find out.
У записи 44 лайков,
9 репостов.
Эту запись оставил(а) на своей стене Андрей Мима

Понравилось следующим людям