go-mall
go商城系统(开发中...)
前端地址:https://github.com/luKorea/shop-electron
策划:
前台商城系统包括:用户登录、注册、商品搜索、商品详情、购物车、订单、秒杀活动等模块。
后台管理系统包括:系统管理、商品系统、优惠营销、库存系统、订单系统、用户系统、内容管理等七大模块。
项目启动
1. 初始化数据库、数据表
2. 构架
# window 环境
make build
# linux 环境
make linux
依赖
protoc
grpc-go:https://github.com/grpc/grpc-go
日志切割:
- 按大小切割:github.com/natefinch/lumberjack
- 按日期切割:
- 方式1:使用 Linux 系统自带的 logrotate
- 方式2:github.com/lestrrat-go/file-rotatelogs (不再维护)
# 启动 s3 服务
docker run -d -p 8333:8333 chrislusf/seaweedfs server -s3
# 使用客户端配置 bucket、ak、sk 等参数
weed shell
> s3.configure -access_key=default-s3-client -secret_key=admin123 -buckets=test-bucket -user=weed -actions=Read,Write,List,Tagging,Admin -apply
# 访问的路径(相当于文件夹的概念)
> fs.configure -locationPrefix=/mail_content_/ -collection=special -apply
技术栈
- 熔断、限流:sentinel
- 分布式事务:seata
- 注册中心:nacos
- 远程调用&负载均衡:Feign
- 分布式id:ksuid
- 链路追踪:jaeger
- MQ
- redis
- mysql
- MongoDB
- elasticsearch
- canal
- seaweedfs 存储服务
服务划分
- 商品服务:分类管理、属性分组
- 用户服务
- 仓储服务
- 秒杀服务
- 订单服务
- 购物车服务
- 检索服务
- 中央认证服务
- 支付服务
- 优惠服务
- IM客服服务
第三方服务
- 物流
- 短信
- 金融
- 身份认证
目录划分
document:文档,如:sql、docker-comopse、shell
config:配置文件
middleware:中间件
routere:路由
知识点
ACL 防止入侵层
Identifier Type设计模式
Stargazers over time