一、概述
-
开始这个项目,主要是想把所学的知识都实际用起来,一方面供大家参考或者提出各自的意见,一方面是记录下来供自己温习和思考。
-
后端主体部分采用 Golang Gin 框架做API网关,调用grpc微服务的方式,前端采用VUE框架+Element-UI组件,整体部署在Kubernetes上并实现Grpc负载均衡。
-
项目文件会更新在github上
二、项目结构
注:只是目前想到的,之后可能会新增
1. 用户系统
2. 书籍系统(CURD、推荐、榜单、点赞、评论、弹幕...)
3. 租赁系统(短信邮箱提醒)
4. 售卖系统(秒杀,促销...)
5. 社区中心(好友,IM即时聊天)
三、主要技术栈需求
-
*Linux操作
-
*Golang语言
-
Vue框架
-
*grpc微服务
-
Nginx
-
Kafka
-
*Docker
-
*Kubernetes
四、项目环境
Linux version 5.11.0-36-generic (buildd@lcy01-amd64-004)
(gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34)
#40~20.04.1-Ubuntu SMP Sat Sep 18 02:14:19 UTC 2021
复制代码
book-store@ubuntu:~$ go version
go version go1.15.6 linux/amd64
复制代码
root@ubuntu:/home/book-store# docker version
Client: Docker Engine - Community
Version: 20.10.8
API version: 1.41
Go version: go1.16.6
Git commit: 3967b7d
Built: Fri Jul 30 19:54:27 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.8
API version: 1.41 (minimum version 1.12)
Go version: go1.16.6
Git commit: 75249d8
Built: Fri Jul 30 19:52:33 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.9
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc:
Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63
docker-init:
Version: 0.19.0
GitCommit: de40ad0
复制代码
[root@k8s-master ~]# kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-master Ready master 41d v1.15.0 172.20.3.13 <none> CentOS Linux 7 (Core) 3.10.0-1160.36.2.el7.x86_64 docker:
k8s-node01 Ready <none> 41d v1.15.0 172.20.3.14 <none> CentOS Linux 7 (Core) 3.10.0-1160.36.2.el7.x86_64 docker:
k8s-node02 Ready <none> 41d v1.15.0 172.20.3.15 <none> CentOS Linux 7 (Core) 3.10.0-1160.36.2.el7.x86_64 docker:
复制代码
五、本栏目更新为本人从零操作记录,所以有时间会更得快一点,工作忙的时候就会慢一点。