wangweianger / Zaneperfor
Licence: other
前端性能监控系统,消息队列,高可用,集群等相关架构
Stars: ✭ 1,085
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Zaneperfor
Firecamp
Serverless Platform for the stateful services
Stars: ✭ 194 (-82.12%)
Mutual labels: kafka, redis, mongodb
Springboot Templates
springboot和dubbo、netty的集成,redis mongodb的nosql模板, kafka rocketmq rabbit的MQ模板, solr solrcloud elasticsearch查询引擎
Stars: ✭ 100 (-90.78%)
Mutual labels: kafka, redis, mongodb
Testcontainers Spring Boot
Container auto-configurations for spring-boot based integration tests
Stars: ✭ 460 (-57.6%)
Mutual labels: kafka, redis, mongodb
Spring Boot Vue Bank
我,请始皇[打钱]是一个前后端分离的工具人系统,项目采用 SpringBoot+Go+Vue 开发,项目加入常见的企业级应用所涉及到的技术点,例如 Redis、RabbitMQ 等(主要是多用用工具多踩踩坑)。
Stars: ✭ 157 (-85.53%)
Mutual labels: kafka, redis, mongodb
Dataengineeringproject
Example end to end data engineering project.
Stars: ✭ 82 (-92.44%)
Mutual labels: kafka, redis, mongodb
Spring Samples For All
spring、spring-boot、spring-cloud 常用整合用例
Stars: ✭ 401 (-63.04%)
Mutual labels: kafka, redis, mongodb
Spring Boot 2.x Examples
Spring Boot 2.x code examples
Stars: ✭ 104 (-90.41%)
Mutual labels: kafka, redis, mongodb
Goodskill
🐂基于springcloud +dubbo构建的模拟秒杀项目,模块化设计,集成了分库分表、elasticsearch🔍、gateway、mybatis-plus、spring-session等常用开源组件
Stars: ✭ 786 (-27.56%)
Mutual labels: kafka, redis, mongodb
Zenko
Zenko is the open source multi-cloud data controller: own and keep control of your data on any cloud.
Stars: ✭ 353 (-67.47%)
Mutual labels: kafka, redis, mongodb
Stream Reactor
Streaming reference architecture for ETL with Kafka and Kafka-Connect. You can find more on http://lenses.io on how we provide a unified solution to manage your connectors, most advanced SQL engine for Kafka and Kafka Streams, cluster monitoring and alerting, and more.
Stars: ✭ 753 (-30.6%)
Mutual labels: kafka, redis, mongodb
Pokedexvuejs
A Pokedex that will contain all 807 pokemon from the Pokemon series. Created in Vue.js
Stars: ✭ 19 (-98.25%)
Mutual labels: mongodb, vuejs2
M Mall Admin
🐶 微信小程序-小商城后台(基于 Node.js、MongoDB、Redis 开发的系统...)
Stars: ✭ 895 (-17.51%)
Mutual labels: redis, mongodb
Scrapy Cluster
This Scrapy project uses Redis and Kafka to create a distributed on demand scraping cluster.
Stars: ✭ 921 (-15.12%)
Mutual labels: kafka, redis
Springbootunity
rabbitmq、redis、scheduled、socket、mongodb、Swagger2、spring data jpa、Thymeleaf、freemarker etc. (muti module spring boot project) (with spring boot framework,different bussiness scence with different technology。)
Stars: ✭ 845 (-22.12%)
Mutual labels: redis, mongodb
Vue Element Responsive Demo
基于 Vue + Element 的响应式后台模板
Stars: ✭ 54 (-95.02%)
Mutual labels: redis, mongodb
zanePerfor一款完整、高性能、高可用的前端性能监控和统计平台
开发功能进度说明
- 集成框架选型及其相关配置(已完成)
- 主重数据库相关配置开发(已完成)
- web网页sdk开发(已完成)
- web端数据库数据后端存储逻辑开发 (已完成)
- web端网站性能数据,错误信息,资源加载信息后台逻辑开发(定时任务:已完成)
- web端网站PV,UV,IP统计开发(定时任务:已完成)
- ip地址库存储逻辑(多种缓存策略:本地文件缓存,redis缓存,mongodb缓存)(已完成)
- web端上报脚本开发(已完成)
- 分城市统计性能逻辑开发(已完成)
- 浏览器端后台cms界面开发(已完成)
- 微信小程序sdk开发 (已完成)
- 微信小程序相关后端逻辑开发 (已完成)
- 微信小程序后台cms界面开发(已完成)
- 微信分城市统计性能逻辑开发(已完成)
- 用户行为漏斗分析 即用户行为分析(已完成)
- TOP性能统计(已完成)
- 省市流量统计热力图分析(已完成)
- 上报方式新增redis 消息队列(已完成)
- 索引优化(已完成)
- Mongodb副本集读写分离开发(已完成)
- 数据库分表(即分集合)针对于apges,ajaxs,errors,resource,enviroment大数据量表分表,不同应用存储到不同的表中(已完成)
- Mongodb集群配置 (已完成)
- github第三方登录 (已完成)
- 新浪微博第三方登录 (已完成)
- 微信授权第三方登录 (已完成)
- Mongodb集群分片开发(优化中)
- 项目性能优化(已完成)
- 邮件触发服务开发(已完成)
- 每日日报邮件发送(已完成)
- 页面后续操作过程中出现的Error错误、Ajax性能、资源加载的上报(已完成)
- 所有预警相关业务开发(开发中)
- Kafka消息队列的引入和使用 (已完成)
- 应用突破历史流量峰值时触发邮件通知、开发流量预警功能(已完成)
- 用户访问实时消费流量统计功能(ajax,页面,资源)(已完成)
项目开发文档
- zanePerfor是什么?
- zanePerfor在高流量高并发项目下的架构配置建议实践说明
- 系统高可用之Mongodb集群分片架构
- 系统高可用之Mongodb副本集读写分离架构
- Servers集群模式下避免定时任务的多次执行
- IP解析城市地理位置逻辑说明
- 项目定时任务功能说明
- github 登录授权说明
- 简单通用的Node前后端Token登录机制和github授权登录方式
- zanePerfor中集成kafka的开发实践和限流优雅降级
项目说明
- 项目已部署到正式环境,并已稳定运行一段时间,请放心使用。
- 前期推荐使用单机数据库或者Mongodb副本集架构,后期根据自身需求考虑是否使用集群分片
- 目前4核8G单机服务器大概能支撑每日50-100W的pv,8核16G单机服务器可支撑100W-500W的PV流量
- 如果项目日PV超千万,需要Redis集群,Mongodb集群分片的部署方式
- 项目后台查询性能增加合适的索引之后,千万以上的数据量可在100ms-2s之内查询出来,平均100-300ms(单机/副本集)
浏览器端使用说明
使用SDK方式上报数据
- 使用web SDK进行数据上报,使用方式请参考 web-report-sdk SDK详情
npm引入使用方式
// install
npm install web-report --save
// 通用版本引入
import { Performance } form 'web-report'
// 使用
Performance({
domain:'http://report.com/api/v1/report/web',
add:{
appId:'D3D9B9AA45B56F6E424F57EFB36B0XXX',
}
})
import {
Performance,
axiosReport,
defaultReport,
fetchReport,
jqueryReport,
noneReport
} from 'web-report'
// 使用
defaultReport({
domain:'http://report.com/api/v1/report/web',
add:{
appId:'D3D9B9AA45B56F6E424F57EFB36B0XXX',
}
})
浏览器端上报SDK详细说明文档请参考:web-report-sdk:
https://github.com/wangweianger/web-report-sdk
微信小程序端使用说明
- 直接下载sdk,引入到小程序的app.js最顶部
微信小程序 app.js头部引入sdk
const wxRepotSdk = require('./utils/wx-report-sdk.min');
new wxRepotSdk({
domain:'http://test.com',
add:{
appId:'56F6E424F57EFB36B0XXX'
}
})
小程序端上报SDK详细说明文档请参考:wx-report-sdk:
https://github.com/wangweianger/wx-report-sdk
docker 安装配置环境(非必须)
-
安装并保证有 docker-compose 的环境
-
修改 start-docker-compose.sh 里的 hostIP 为外网 IP ⚠️ 不能是
127.0.0.1
或localhost
-
docker-compose 启动方式
方式一:
# 项目所在目录
./start-docker-compose.sh
方式二
export hostIP='自己的外网IP' && docker-compose up -d --build
- 启动 web 开发环境
npm run dev
- 启动 web start 环境 ⚠️ 修改 config/config.prod.js 里的 redis 配置
npm start
交流和建议群
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].