Репозиторий для публичного урока по курсу Symfony Framework
- Запустить контейнеры командой
docker-compose up -d
- Войти в контейнер командой
docker exec -it php sh
- Установить необходимые пакеты командой
composer install
- Инициализировать БД командой
php bin/console doctrine:migrations:migrate
- Выйти из контейнера
- Войти в контейнер
kafka
командойdocker exec -it kafka sh
- Выполнить команду
kafka-topics --bootstrap-server localhost:9092 --create --topic user_log --partitions 4
- Выйти из контейнера
- Зайти в Kafdrop по адресу http://localhost:9900 и проверить, что категория создалась с 4 партициями.
- Зайти в Grafana по адресу http://localhost:3000 с логином/паролем
admin
/admin
- Добавить Datasource для Graphite с адресом
hhtp://graphite:80
- Создать дашборд с метриками
app.user_hit
иapp.user_miss
- Войти в контейнер командой
docker exec -it php sh
- Выполнить команду
php bin/console test:produce 1000 39
- Выйти из контейнера
- В Grafana можно увидеть, что есть значительное количество промахов (пользователь обработан не тем же консьюмером, что был изначально)
- Остановить консьюмеры командой
docker-compose stop supervisor
- Зайти в Kafdrop, там можно увидеть, что распределение по партициям не очень равномерное
- Удалить категорию
user_log
- Войти в контейнер
kafka
командойdocker exec -it kafka sh
- Выполнить команду
kafka-topics --bootstrap-server localhost:9092 --create --topic user_log --partitions 4
- Выйти из контейнера
- Войти в контейнер командой
docker exec -it php sh
- Выполнить команду
php bin/console test:produce 2000 39 -p
- Выйти из контейнера
- В Grafana можно увидеть, что промахов больше нет
- Остановить консьюмеры командой
docker-compose stop supervisor
- Зайти в Kafdrop, там можно увидеть, что распределение по партициям почти равномерное (с точностью до 100 сообщений)
- Удалить категорию
user_log
- Войти в контейнер
kafka
командойdocker exec -it kafka sh
- Выполнить команду
kafka-topics --bootstrap-server localhost:9092 --create --topic user_log --partitions 4
- Выйти из контейнера
- Войти в контейнер командой
docker exec -it php sh
- Выполнить команду
php bin/console test:produce 3000 39 -r
- Выйти из контейнера
- В Grafana можно увидеть, что промахов также нет
- Зайти в Kafdrop, там можно увидеть, что распределение по партициям тоже почти равномерное
Автор: Михаил Каморин