Как стать автором
Обновить

Как мы организовали работу высоконагруженного сервиса для ресторанного бизнеса и что пришлось пережить

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.3K
Всего голосов 9: ↑7 и ↓2+11
Комментарии8

Комментарии 8

500 000 запросов в секунду

Пользователи не могут такой поток запросов создавать. Значит 90-99% запросов служебные.

Где-то кривизна

Угу. Даже если по 2000 ресторанов в месяц подключают, в системе вряд ли больше 100 000 ресторанов (впрочем, подозреваю, и 40000 не будет, не так много в мире ресторанов). В среднем с ресторана 1 запрос в секунду - это как-то очень, очень много, где-то на порядок-два выше реального.
В общем, да, как-то все странно...

Ну вообще то даже ресторан с одной кассой и парой официантских фронтов уже дает несколько десятков запросов. Они конечно размазаны по времени но они есть. К тому же рестораном считается любая точка подключения, хоть кофейня, хоть ресторан с 10 кассами и своим производством. Айко же делает автоматизацию не только самой продажи блюд. Там и учет времени, и видеонаблюдение и привязка телефонии. Очень много всего. Так что и запросов много.

Меня вот больше беспокоит что отказались от коробочных решений. Из за проходящей моды на всякие облака лишаться коробочного продукта в рамках своего замкнутого периметра очень грустно.

Хм, а можешь пояснить, как один ресторан с одной кассой и парой официантских фронтов дает несколько десятков запросов в секунду? Мне вот не представить никак.
Даже в общепите с временем прохода в 10 минут один фронт должен давать один запрос в минуту, не больше (ну или фронт написан очень криво и скорее его надо оптимизировать).

Каждая маркированная позиция требует своей проверки по "Честному знаку" или ЕГАИС, это запросы от фронта к УТМ, серверу и далее уже через ККМ проверка. Сохранение заказов (если сервер недоступен то это будет сделано потом), сохранение чеков. При использовании интеграции с банковским оборудованием взаимодействие тоже касается серверной части, хоть и в меньшей степени.

Так же сервер отрабатывает запросы по видеонаблюдению, телефонии. Айко же не только на кассе и официантских фронтах стоит. Производства в цехах, офисники молотят отчеты и аналитику, склад принимает и перемещает продукты и продукцию ...

Айко же комплексная система, там много всего. Так что траффик он там есть. Не тысячи запросов в секунду с ресторана - но есть и постоянно.

В большинстве случаев держать сервер в облаке для клиента проще, дешевле и надёжнее.

По количеству вы были близки. В данный момент в клауде около 50000 активных клиентов, при этом количество запросов распределено по ним совершенно неравномерно. Большая часть потока как раз создаётся большими сетями, которые максимально используют функционал.

Действительно, это не число "чистых" клиентских запросов, а общее количество. В iiko работают несколько крупных сервисов, которые тесно взаимодействуют между собой и зачастую совершенно обычный функционал может создавать запросы сразу к нескольким системам.
Существует большое количество фоновых задач, которые выполняются даже если ресторан в данный момент не работает. Например, один только healthcheck всех клиентских инстансов создаёт около 5000 запросов в секунду.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий