这是一个微服务grpc
的自学项目,主要是熟悉练习go-zero
这个新的框架
go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。
go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成 Go, iOS, Android, Kotlin, Dart, TypeScript, JavaScript 代码,并可直接运行。
sh server.sh
输出如下 就显示 成功了
mysql
Start Redis Service...
etcd
es
执行下面的操作
# 进入docker
docker exec -it es /bin/bash
# 执行密码设置命令
[root@04b37b58f104 elasticsearch]# sh /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
...
# 可以查看密码,得到elastic 的帐号: elastic ,密码: somepassword
Changed password for user elastic
PASSWORD elastic = somepassword
填入search/rpc/search.yaml
配置文件中
注意添加--privileged=true
,如果发现无法正常启动无权限则,运行 chmod -R 777 [mydata]
- 直接登录到Docker中的数据库
docker exec -it mysql /usr/bin/mysql -uroot -padmin
- 导入数据库设置,生成数据表
mysql > set name utf8
mysql > create databse datacenter
mysql > use datacenter
mysql > source sql.sql
cat etc/datacenter-api.yaml #网关配置,这里是api总的入口
cat user/rpc/etc/rpc.yaml #用户信息配置
cat common/rpc/etc/rpc.yaml #公共配置
cat votes/rpc/etc/rpc.yaml #投票配置
cat search/rpc/etc/search.yaml #搜索配置
cat questions/rpc/etc/questions.yaml #抽奖配置
cat oms/rpc/etc/oms.yaml #gozero配置
cat pms/rpc/etc/pms.yaml #gozero配置
cat ums/rpc/etc/ums.yaml #gozero配置
cat sys/rpc/etc/sys.yaml #gozero配置
sh restart-microservice.sh
tail -F nohup.out #网关的服务
tail -F user/rpc/nohup.out #用户的rpc服务
tail -F common/rpc/nohup.out #公共的
tail -F votes/rpc/nohup.out #投票的
tail -F search/rpc/nohup.out #搜索的
tail -F questions/rpc/nohup.out #问答抽奖
postman_collection.json
定义了基本的postman
项目
参考项目:
- go-zero-admin
- oms
- ums
- pms
- sys
- 微信公众号登陆
- 七牛上传获取token
- 电影
- 查询信息
- 投票
- 报名
- 报名列表
- 投票
- 抽奖问答
- 活动信息
- 问答列表
- 提交答案
- 获取得分
- 抽奖
- 填写中奖人信息
- 搜索
- 基于elasticsearch
- 微信支付宝登陆
- 微信支付宝支付