# 项目技术栈及架构图
# 1. 技术栈
# 客户端
- JavaScript框架:Vue 2、JQuery
- JavaScript库:base64编解码
js-base64
、散列值计算crypto-js
、文件流下载js-file-download
等 - 响应式UI组件:Element UI + Semantic UI
- 可视化组件:Echarts
- Web服务器:Nginx
# 服务端
- 开发语言:Golang
- 搜索引擎:Elasticsearch
- 消息队列:Rabbit MQ
- 非关系型数据库(NoSQL):Redis、MongoDB
# 2. 架构图
# 3. 其他
对开发过程一些问题的思考和解决方案,记录在个人博客,链接如下
- Golang计算文件sha-256值与Vue中使用CryptoJS计算的值base64编码不一致 (opens new window)
- Redis Cluster模式,匹配键keys -> scan,批量操作mget -> pipeline管道 (opens new window)
- Elasticsearch嵌套聚合查询对Buckets排序及分页失败 - 改为用collapse (opens new window)
- Go操作RabbitMQ的amqp类库没有集群模式,自行实现故障转移和负载均衡 (opens new window)
- Vue + el-upload + File.slice()满足服务端分片上传逻辑 (opens new window)
- Golang 操作系统监控管理工具——gopsutil (opens new window)
- Crypto JS计算大文件的SHA-256值:值错误、出现网页假死/崩溃情况 (opens new window)
- Go map遍历无序->有序 (opens new window)
- Golang自定义日志框架:log包+tail包实时读取+MQ推送+ES存储 (opens new window)
← 项目定位