go micro微服务框架项目搭建方法

 更新时间:2023年01月08日 09:00:35   作者:夏沫的梦  
这篇文章主要为大家介绍了go micro微服务框架项目搭建方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一 微服务项目介绍

  • 账户功能是每一个系统都绕不开的一部分,所以本次搭建的微服务项目就是账户微服务项目,其中向外暴露的功能有:
  • 登录
  • 注册
  • 查询用户信息
  • 修改信息
  • 发送注册邮件
  • 发送重置密码邮件
  • 重置密码
  • 获取权限
  • 修改权限
  • 退出账号
  • 删除账号
  • 禁用账号
  • 启用账号

提供的功能总共有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微服务项目搭建工作就正式完成,更多关于go micro微服务框架搭建的资料请关注脚本之家其它相关文章!

相关文章

  • 使用gorm.Scopes函数实现复用查询逻辑示例

    使用gorm.Scopes函数实现复用查询逻辑示例

    这篇文章主要为大家介绍了使用gorm.Scopes函数实现复用查询逻辑示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Golang中的深拷贝与浅拷贝使用

    Golang中的深拷贝与浅拷贝使用

    本文主要介绍了Golang中的深拷贝与浅拷贝使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Golang Mutex互斥锁深入理解

    Golang Mutex互斥锁深入理解

    这篇文章主要为大家介绍了Golang Mutex互斥锁深入理解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • golang开发及数字证书研究分享

    golang开发及数字证书研究分享

    这篇文章主要为大家介绍了golang开发以及数字证书的研究示例分享,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • 详解Golang并发控制的三种方案

    详解Golang并发控制的三种方案

    本文主要介绍了详解Golang并发控制的三种方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Go语言多值替换的HTML模板实例分析

    Go语言多值替换的HTML模板实例分析

    这篇文章主要介绍了Go语言多值替换的HTML模板,实例分析了Go语言多值替换与数组迭代的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Go WEB框架使用拦截器验证用户登录状态实现

    Go WEB框架使用拦截器验证用户登录状态实现

    这篇文章主要为大家介绍了Go WEB框架使用拦截器验证用户登录状态实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 浅析Go语言中包的介绍与初始化

    浅析Go语言中包的介绍与初始化

    这篇文章主要为大家详细介绍了Go语言中包的介绍与初始化,从而搞清Go程序的执行次序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解下
    2023-10-10
  • GO语言中=和:=的区别说明

    GO语言中=和:=的区别说明

    这篇文章主要介绍了GO语言中=和:=的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go项目中的GOPROXY设置

    Go项目中的GOPROXY设置

    GOPROXY是Go语言中用于指定模块代理服务器的环境变量,设置GOPROXY可以通过操作系统环境变量、Go命令行参数或Go环境配置文件进行,感兴趣的可以了解一下
    2024-09-09

最新评论