Skip to content

Тестовое задание на добовление/уменьшение золота для кланов. >1000 потоков.

Notifications You must be signed in to change notification settings

4kin/test-skytec-games

Repository files navigation

Запуск

Docker

Запустить docker-compose.yml

Проверить что запушенны контенеры kafka1, postres, zoo1
img_1.png

Модули

Запустить ToKafkaApplication.java

Запустить FromKafkaApplication.java

Перезапуск FromKafkaApplication.java обнуляет все результаты по золоту в postgres

Использование

Контроллер

GET http://localhost:8099/clan_id/{clanId}/gold/{gold}

{clanId} - id клана (int)

{gold} - измеение по золоту (int)

Нагрузка

jMeter

Запуск generateMessages.jmx позволяет эмитировать нагрузка на сервер

три варианта

  1. Нагрузочный тест 1000 потоков
    img.png

  2. Тест на правильность подсчета денег 300 000 запросов
    img_2.png
    результат в data-30000-records.xlsx

  3. Тест на правильность подсчета денег >1 000 000 запросов
    img_3.png
    результат в data-1048076-records.xlsx

Схема работы

модуль common-to-kafka

Все запросы от контроллера KafkaController.java пишутся в брокер сообшений Kafka (1 kafka + 1 zookeeper)

модуль common-from-kafka

Получает данные из kafka группирует отправляет update на сервер postgres.

На сервере postrges отрабатывает тригерр который, складывает старое значение зоолота с изменяемым значением золота.

About

Тестовое задание на добовление/уменьшение золота для кланов. >1000 потоков.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published