• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PiggyMetrics: 多组件分布式应用行为追踪演示

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

PiggyMetrics

开源软件地址:

https://gitee.com/xueshiqing/PiggyMetrics

开源软件介绍:

多组件分布式应用行为追踪演示

基本信息

授权协议:GPL
操作系统:Centos
开发语言:JAVA
开发单位: 北京航空航天大学
项目网站: https://xueshiqing.github.io/项目源码下载: https://gitee.com/xueshiqing/PiggyMetrics

项目描述

多组件分布式应用行为追踪演示项目基于PiggyMetrics分布式微服务系统(一个基于微服务的在线记账系统)进行请求链路追踪扩展,由北京航空航天大学倾力打造。主要面向未来基于微服务的大型分布式应用,通过提供请求链路追踪库来完成对上层应用请求链路的追踪与分析,以辅助后续应用性能优化、集群资源分配和部署优化、应用请求状态监控。目前提供请求链路追踪、请求组件图构建、关键路径分析和关键组件评估等功能,并提供统一标准上层接口以适配不同微服务应用。

技术架构

  1. 后端
  • 基础框架:SpringCloud,Docker,ZUUL,ELK
  • 持久层框架:mongoDB
  • 消息队列:rabbitmq
  • 缓存框架:redis
  • 日志打印:log4j
  • 其他:fastjson,quartz等
  1. 开发环境
  • 语言:JAVA
  • IDE:IDEA
  • 依赖管理:Maven
  • 数据库:mongoDB
  • 缓存:redis

功能模块

  • 请求链路追踪
  • 请求组件图构建
  • 关键路径分析
  • 关键组件评估

后台开发环境和依赖

  • java
  • maven
  • jdk8
  • SpringCloud
  • docker
  • mongoDB

项目下载和运行

  • 拉取项目代码
git clone url
  • 编译
mvn clean;mvn package;
  • 运行
    • 镜像生成
    gateway                latest              a532a250efa1        6 weeks ago         349 MBmonitoring             latest              1d4485f6c5ed        6 weeks ago         352 MBnotification-service   latest              a7b696ecf66a        6 weeks ago         355 MBstatistics-service     latest              2464eaa4a1d7        6 weeks ago         354 MBaccount-service        latest              fb3dcff48ff4        6 weeks ago         354 MBauth-service           latest              1bbbc17418ff        6 weeks ago         350 MBaccount-mongo-service            latest              2b0b84d3d8a1        6 weeks ago         642 MBregistry               latest              216c1f736617        6 weeks ago         348 MBconfig                 latest              c3e41d5ae3c7        6 weeks ago         333 MBrabbitmq               latest              5a8b7f36d59f        7 weeks ago         151 MBdocker-base            latest              17a1ba013238        2 months ago        100 MBredis                  3                   1200574c8af9        2 months ago        366 MBrabbitmq               3-management        6cb6e2f951a8        2 months ago        151 MBstatistics-mongo-service            latest              17a1ba013238        2 months ago        100 MBnotification-mongo-service            latest              17a1ba013238        2 months ago        100 MB
    • 镜像运行注意:里面的192开头的ip都换成自己的ip
    1. 启动redisdocker run -d --name redis -p 6379:6379 redis
    2. 运行rabbitmqdocker run -d -p 5672:5672 -p 15672:15672 --name=rabbitmq rabbitmq:3-management
      通过 ip:15672/ 查看是否成功启动 账号是 user 密码是 root
    3. 运行config--配置服务器docker run -d -p 8888:8888 -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} --name=config config
      通过ip:8888/gateway/default 如果能读取配置文件 即成功
    4. 运行eureka -- 注册中心docker run -d -p 8761:8761 -e REGISTRY_PORT=8761 -e CONFIG_PORT=8888 -e CONFIG_SERVICE_PASSWORD=${CONFIG_SERVICE_PASSWORD} --add-host config:192.168.1.191 --add-host registry:192.168.1.191 --name=registry registry
      通过ip:8761验证
    5. 启动auth-servicedocker 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通过mongo 192.168.4.201/piggymetrics -u user -p root验证
    6. 启动account-mongo-servicedocker 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 -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-mongo-service account-mongo-service
      可通过eureka面板查看服务是否注册
    7. 启动account-servicedocker 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
      可通过eureka面板查看服务是否注册
    8. 启动gatewaydocker 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
      通过ip:4000访问
    9. 启动statistics-mongo-servicedocker 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_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=statistics-mongo-service statistics-mongo-service
      可通过eureka面板查看服务是否注册
    10. 启动statistics-servicedocker 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
      可通过eureka面板查看服务是否注册
    11. 启动notification-mongo-servicedocker 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
      可通过eureka面板查看服务是否注册
    12. 启动notification-servicedocker 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
      可通过eureka面板查看服务是否注册
    13. 启动monitoringdocker 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 --name=monitoring monitoring
      通过http://192.168.1.191:8080/hystrix 在地址栏输入http://192.168.1.191:8989查看监控

附件下载


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
distributed-lock-project: 基于zookeeper实现的分布式锁发布时间:2022-03-25
下一篇:
ikasoa: ikasoa is a java distributed service framework.发布时间:2022-03-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap