一 微服务项目介绍
账户功能是每一个系统都绕不开的一部分,所以本次搭建的微服务项目就是账户微服务项目,其中向外暴露的功能有:
登录
注册
查询用户信息
修改信息
发送注册邮件
发送重置密码邮件
重置密码
获取权限
修改权限
退出账号
删除账号
禁用账号
启用账号
提供的功能总共有13个,基本上包含了账户相关的所有功能!
在本次微服务项目中使用到的技术包括:
go-micro v2
Docker
Mysql
Redis
Zap日志
Consul配置、注册中心
发送邮件(QQ邮箱)
Jaeger链路追踪
Prometheus监控
雪花算法生成用户ID
JWT跨域认证
Makefile自动化编译工具
Elasticsearch搜索引擎
Logstash日志搜集
Kibana日志分析可视化界面
Filebeat数据收集
负载均衡
本次微服务项目中使用到的技术,基本上包含了微服务相关的技术,所以想要掌握微服务的小伙伴们,要跟紧我们的项目开发,早日掌握微服务。
二 go-micro安装
- 大家自行安装Dokcer
- 终端输入
docker --version
即可查看docker是否安装成功
1.拉取micro镜像
- 打开Goland终端,输入:
docker pull micro/micro:v2.9.3
2.生成项目目录
- 镜像拉取成功后,输入命令生成项目目录
docker run --rm -v /d/学习/GO_project/micro/micro-common:/d/学习/GO_project/micro/micro-common -w /d/学习/GO_project/micro/micro-common micro/micro:v2.9.3 new account
命令讲解:
–rm 是不再生成新的micro镜像
/d/学习/GO_project/micro/micro-common 为你当前目录的路径地址,注意格式,使用的是 / 。
micro/micro:v2.9.3 指定使用的镜像名称
account 生成的项目名称,我使用的是 account。
命令执行后等待即可生成go-micro项目目录,如果报错,可能跟网络有关,可以多次输入命令进行尝试。
三 项目搭建
使用DDD模式开发项目:
打开项目,在根目录下新建 client、common、config、domain目录
在common目录下新建 mail、micro、snow_flake、token、utils目录
在config目录下新建 config、logger、mysql、redis目录
在domain目录下新建 model、repository、service目录
data目录不用新建,可以使用filebeat自动生成,存放的信息为日志信息。
项目目录如下所示:
四 最后
- 至此,go-micro微服务项目搭建工作就正式完成。
- 接下来就开始正式的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。