Pull to refresh

Comments 7

Ого, схема на ArchiMate​ modelling language.


На текущий момент мы обрабатываем более 150 000 изменений в минуту.

А можно узнать сколько и какого виртуального железа стоит за этим в облаке?

Я обычно удивляюсь, когда кто-то ArchiMate нотацию узнает, так как ее применение не так популярно, как тот же UML.
Что касается железа, то все инстансы кластера именно с Tarantool размещены на 4 виртуальных машинах в конфигурации 16 CPU & 64 RAM. И по выдерживаемой нагрузке я чуть ошибся, там все же 150к изменений в секунду.

Я обычно удивляюсь, когда кто-то ArchiMate нотацию узнает, так как ее применение не так популярно, как тот же UML.

Встретились два одиночества...


И по выдерживаемой нагрузке я чуть ошибся, там все же 150к изменений в секунду.

Непонятна связь этой метрики с требованиями к системе: "С учетом географии «Магнита» – это более 420 000 изменений в минуту". Можете пояснить?

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

Сейчас же подключено уже 20% магазинов от всей сети, что уже с учетом операций магазина дает 150к RPS в пике, когда накопленные данные отправляются в DIH. Классический случай "ожидание - реальность".

Если бы не случилась пандемия и не пришлось бы решать задачу в speedrun - насколько иначе подошли бы к ее решению?

В спокойном режиме необходимо было бы пройтись по всем операциям (ценообразование, работа с остатками, акциями), результаты их работ максимально централизовать в одном внутреннем хранилище и минимизировать время отставания данных между магазинами и этим внутренним хранилищем. Оно будет предназначаться под операционные процессы под операционный профиль нагрузки.

Далее через механизм CDC (Change Data Capture) настроить передачу данных уже в горячее хранилище, на которое уже будет падать пользовательский профиль нагрузки. Т.е. все равно иметь два места хранения данных, но под разные профили нагрузки.

Sign up to leave a comment.