SecondKill

基于nsq的分布式秒杀系统

流程图

avatar

文件目录(部分前端文件夹压缩了)

.
├── backend
│   ├── main.go
│   └── web.rar
├── common
│   ├── common.go
│   ├── consistent.go
│   ├── filter.go
│   └── ip.go
├── config
│   ├── conf.ini
│   └── setting.go
├── consumer.go
├── database
│   ├── mysql.go
│   └── redis.go
├── datamodels
│   ├── message.go
│   ├── order.go
│   ├── product.go
│   └── user.go
├── encrypt
│   └── aes.go
├── getOne.go
├── go.mod
├── go.sum
├── mq
│   └── mq.go
├── repositories
│   ├── order_repository.go
│   ├── product_repository.go
│   └── user_repository.go
├── services
│ ├── order_service.go
│ ├── product_services.go
│ └── user_service.go
├── validate.go
└── web
├── controllers
│ ├── product_controller.go
│ └── user_controller.go
├── htmlProductShow
│ └── htmlProduct.html
├── main.go
├── middleware
│ └── auth.go
├── public.rar
├── tool
│ └── cookie.go
└── views
├── product
│ ├── result.html
│ └── view.html
├── shared
│ ├── error.html
│ ├── layout.html
│ └── productLayout.html
├── template
│ └── product.html
└── user
├── login.html
└── register.html

基本组成

  • 前端框架:后台管理beagle 电商系统namira
  • web框架:iris mvc结构
  • 消息队列:nsq
  • 数据库:mysql
  • 数据库操作框架:gorm
  • 配置管理:ini
  • cookie加密:aes cbc模式
  • 一致性hash算法和虚拟节点实现分布式验证
  • go module包管理