Лицензионное соглашение: GPL
Операционная система: CentOS
Язык разработки: JAVA
Разработчик: Пекинский университет авиации и космонавтики
Сайт проекта: https://xueshiqing.github.io/
Загрузка исходного кода: https://gitee.com/xueshiqing/PiggyMetrics
Демонстрация поведения многокомпонентного распределённого приложения основана на системе PiggyMetrics, представляющей собой распределённый микросервисный онлайн-учёт. Проект разработан Пекинским университетом авиации и космонавтики.
Проект ориентирован на будущие крупные распределённые приложения на основе микросервисов и предоставляет инструменты для отслеживания и анализа цепочек запросов верхнего уровня, что помогает в оптимизации производительности, распределении ресурсов кластера и оптимизации развёртывания, а также мониторинге состояния запросов. В настоящее время проект предлагает функции отслеживания цепочек запросов, построения диаграмм компонентов, анализа ключевых путей и оценки ключевых компонентов. Также предоставляется унифицированный интерфейс верхнего уровня для адаптации к различным микросервисным приложениям.
git clone url
mvn clean;
mvn package;
gateway latest a532a250efa1 6 weeks ago 349 MB
monitoring latest 1d4485f6c5ed 6 weeks ago 352 MB
notification-service latest a7b696ecf66a 6 недель назад 355 MB
statistics-service latest 2464eaa4a1d7 6 недель назад 354 MB
account-service latest fb3dcff48ff4 6 недель назад 354 MB
auth-service latest 1bbbc17418ff 6 недель назад 350 MB
account-mongo-service latest 2b0b84d3d8a1 6 недель назад 642 MB
registry latest 216c1f736617 6 недель назад 348 MB
config latest c3e41d5ae3c7 6 недель назад 333 MB
rabbitmq latest 5a8b7f36d59f 7 недель назад 151 MB
docker-base latest 17a1ba013238 2 месяца назад 100 MB
redis 3 1200574c8af9 2 месяца назад 366 MB
rabbitmq 3-management 6cb6e2f951a8 2 месяца назад 151 MB
statistics-mongo-service latest 17a1ba013238 2 месяца назад 100 MB
notification-mongo-service latest 17a1ba013238 2 месяца назад 100 MB
docker run -d --name redis -p 6379:6379 redis
docker run -d -p 5672:5672 -p 15672:15672 --name=rabbitmq rabbitmq:3-management
Через ip:15672/
проверьте, успешно ли запущен. Имя пользователя — user, пароль — root.
2. Запустите Config — сервер конфигурации:
docker run -d -p 8888:8888 -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWOR} --name=config config
Через ip:8888/gateway/default
проверьте, удалось ли прочитать файл конфигурации.
3. Запустите Eureka — реестр служб:
docker run -d -p 8761:8761 -e REGISTRY_PORT=8761 -e CONFIG_PORT=8888 -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSSWORD} --add-host config:192.168.1.191 --add-host registry:192.168.1.191 --name=registry registry
Через ip:8761
подтвердите успешность запуска.
4. Запустите Auth-Service:
docker run -d -p 5000:5000 -e SERVICE_PORT=5000 -e AUTH_SERVICE_PORT=5000 -e HOST_IP=192.168.1.191 -e REDIS_IP=${REDIS_IP} -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} -e NOTIFICATION_SERVICE_PASSWORD=${NOTIFICATION_SERVICE_PASSWORD} -e STATISTICS_SERVICE_PASSWORD=${STATISTICS_SERVICE_PASSWORD} -e ACCOUNT_SERVICE_PASSWORD=${ACCOUNT_SERVICE_PASSWORD} -e MONGODB_PASSWORD=${MONGODB_PASSWORD} --add-host config:192.168.1.191 -e CONFIG_PORT=8888 --add-host registry:192.168.1.191 -e REGISTRY_PORT=8761 --name=auth-service auth-service
Проверьте через MongoDB по адресу mongo 192.168.4.201/piggymetrics -u user -p root
.
5. Запустите Account-Mongo-Service:
docker run -d -p 7777:7777 -e SERVICE_PORT=7777 -e HOST_IP=192.168.1.191 -e REDIS_IP=${REDIS_IP} -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} -e INIT_DUMP=/account-service-dump.js -e NOTIFICATION_SERVICE_PASSWORD=${NOTIFICATION_SERVICE_PASSWORD} -e STATISTICS_SERVICE_PASSWORD=${STATISTICS_SERVICE_PASSWORD} -e ACCOUNT_SERVICE_PASSWORD=${ACCOUNT_SERVICE_PASSWORD} -e MONGODB_PASSWORD=${MONGODB_PASSWORD} --add-host config:192.168.1.191 -e CONFIG_PORT=8888 --add-host registry:192.168.1.191 **REGISTRY_PORT=8761** --add-host rabbitmq:192.168.1.191 -e RABBITMQ_PORT=5672 --add-host auth-service:192.168.1.191 -e AUTH_SERVICE_PORT=5000 --name=account-mongo-service account-mongo-service
<br>Можно проверить регистрацию сервиса через панель Eureka.
6. Запустить account-service.
docker run -d -p 6000:6000 -e SERVICE_PORT=6000 -e HOST_IP=192.168.1.191 -e REDIS_IP=${REDIS_IP} -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} -e ACCOUNT_SERVICE_PASSWORD=${ACCOUNT_SERVICE_PASSWORD} -e MONGODB_PASSWORD=${MONGODB_PASSWORD} --add-host config:192.168.1.191 -e CONFIG_PORT=8888 --add-host registry:192.168.1.191 -e REGISTRY_PORT=8761 --add-host rabbitmq:192.168.1.191 -e RABBITMQ_PORT=5672 --add-host auth-service:192.168.1.191 -e AUTH_SERVICE_PORT=5000 --name=account-service account-service
<br>Можно проверить регистрацию сервиса через панель Eureka.
12. Запустить gateway.
docker run -d -p 4000:4000 -e SERVICE_PORT=4000 -e HOST_IP=192.168.1.191 -e REDIS_IP=${REDIS_IP} -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} --add-host config:192.168.1.191 -e CONFIG_PORT=8888 --add-host registry:192.168.1.191 -e REGISTRY_PORT=8761 --add-host auth-service:192.168.1.191 -e AUTH_SERVICE_PORT=5000 --name=gateway gateway
<br>Доступ через ip:4000.
7. Запустить statistics-mongo-service.
docker run -d -p 7778:7778 -e SERVICE_PORT=7778 -e HOST_IP=192.168.1.191 -e REDIS_IP=${REDIS_IP} -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} -e NOTIFICATION_SERVICE_PASSWORD=${NOTIFICATION_SERVICE_PASSWORD} -e STATISTICS_SERVICE_PASSWORD=${STATISTICS_SERVICE_PASSWOR$ -e ACCOUNT_SERVICE_PASSWORD=${ACCOUNT_SERVICE_PASSWORD} -e MONGODB_PASSWORD=${MONGODB_PASSWORD} --add-host config:192.168.1.191 -e CONFIG_PORT=8888 --add-host registry:192.168.1.191 -e REGISTRY_PORT=8761 --add-host rabbitmq:192.168.1.191 -e RABBITMQ_PORT=5672 --add-host auth-service:192.168.1.191 -e AUTH_SERVICE_PORT=5000 --name=statistics-mongo-service statistics-mongo-service
<br>Можно проверить регистрацию сервиса через панель Eureka.
8. Запустить statistics-service.
docker run -d -p 7000:7000 -e SERVICE_PORT=7000 -e HOST_IP=192.168.1.191 -e REDIS_IP=${REDIS_IP} -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} -e STATISTICS_SERVICE_PASSWORD=${STATISTICS_SERVICE_PASSWORD} -e MONGODB_PASSWORD=${MONGODB_PASSWORD} --add-host config:192.168.1.191 -e CONFIG_PORT=8888 --add-host registry:192.168.1.191 -e REGISTRY_PORT=8761 --add-host auth-service:192.168.1.191 -e AUTH_SERVICE_PORT=5000 --add-host rabbitmq:192.168.1.191 -e RABBITMQ_PORT=5672 --name=statistics-service statistics-service
<br>Можно проверить регистрацию сервиса через панель Eureka.
9. Запустить notification-mongo-service.
docker run -d -p 7779:7779 -e SERVICE_PORT=7779 -e HOST_IP=192.168.1.191 -e REDIS_IP=${REDIS_IP} -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} -e NOTIFICATION_SERVICE_PASSWORD=${NOTIFICATION_SERVICE_PASSWORD} -e STATISTICS_SERVICE_PASSWORD=${STATISTICS_SERVICE_PASSWORD} -e ACCOUNT_SERVICE_PASSWORD=${ACCOUNT_SERVICE_PASSWORD} -e MONGODB_PASSWORD=${MONGODB_PASSWORD} --add-host config:192.168.1.191 -e CONFIG_PORT=8888 --add-host registry:192.168.1.191 -e REGISTRY_PORT=8761 --add-host rabbitmq:192.168.1.191 -e RABBITMQ_PORT=5672 --add-host auth-service:192.168.1.191 -e AUTH_SERVICE_PORT=5000 --name=notification-mongo-service notification-mongo-service
<br>Можно проверить регистрацию сервиса через панель Eureka.
10. Запустить notification-service.
docker run -d -p 8000:8000 -e SERVICE_PORT=8000 -e HOST_IP=192.168.1.191 -e REDIS_IP=${REDIS_IP} -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} -e NOTIFICATION_SERVICE_PASSWORD=${NOTIFICATION_SERVICE_PASSWORD} -e MONGODB_PASSWORD=${MONGODB_PASSWORD} --add-host config:192.168.1.191 -e CONFIG_PORT=8888 --add-host registry:192.168.1.191 -e REGISTRY_PORT=8761 --add-host auth-service:192.168.1.191 -e AUTH_SERVICE_PORT=5000 --add-host rabbitmq:192.168.1.191 -e RABBITMQ_PORT=5672 --name=notification-service notification-service
<br>Можно проверить регистрацию сервиса через панель Eureka.
11. Запустить monitoring.
docker run -d -p 8989:8989 -p 8080:8080 -e HOST_IP=192.168.1.191 -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} --add-host config:192.168.1.191 -e CONFIG_PORT=8888 --add-host registry:192.168.1.191 -e REGISTRY_PORT=8761 --add-host rabbitmq:192.168.1.191 -e RABBITMQ_PORT=5672
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )