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微服务框架搭建的资料请关注脚本之家其它相关文章!

相关文章

  • go值赋值和引用赋值的使用

    go值赋值和引用赋值的使用

    本文将介绍Go语言中的值赋值和引用赋值,并比较它们之间的差异,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-10-10
  • golang中for range的取地址操作陷阱介绍

    golang中for range的取地址操作陷阱介绍

    这篇文章主要介绍了golang中for range的取地址操作陷阱,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • go编译so库让python引用编译后没有.h文件的问题

    go编译so库让python引用编译后没有.h文件的问题

    有时python需要引用go的一些开源库,这时就需要go编译成python可调用的库,本文给大家介绍了go编译so库让python引用,编译后没有.h文件的问题,需要的朋友可以参考下
    2024-02-02
  • Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法

    Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法

    这篇文章主要介绍了Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法,实例分析了客户端的开发技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • GoFrame框架garray对比PHP的array优势

    GoFrame框架garray对比PHP的array优势

    这篇文章主要为大家介绍了GoFrame框架garray对比PHP的array优势详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • GO中优雅编码与降低圈复杂度详析

    GO中优雅编码与降低圈复杂度详析

    Go语法简单易用,有其他编程经验的开发者,相信学习并快速上手Go语言的开发,多数觉得不困难吧,下面这篇文章主要给大家介绍了关于GO中优雅编码与降低圈复杂度的相关资料,需要的朋友可以参考下
    2022-12-12
  • Go时间格式化的实现

    Go时间格式化的实现

    本文主要介绍了Go时间格式化的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Golang内存泄漏详解之原因、检测与修复过程

    Golang内存泄漏详解之原因、检测与修复过程

    本文详细介绍了Golang中的内存泄漏问题,包括内存泄漏的定义、分类、影响以及预防和修复方法,通过使用Golang自带的性能分析工具和火焰图工具,可以有效地检测和定位内存泄漏的代码路径,合理的代码设计和定期的代码审查也是预防内存泄漏的关键
    2024-12-12
  • Golang 使用事务的简单实践

    Golang 使用事务的简单实践

    事务是保证数据一致性的重要手段,在Golang项目中,我们可以通过事务管理器或GORM的来简化事务的使用,本文就来详细的介绍一下Golang 使用事务的实现示例,感兴趣的可以了解一下
    2025-11-11
  • go语言实现两个协程交替打印

    go语言实现两个协程交替打印

    这篇文章主要介绍了go语言实现两个协程交替打印,文章主要分享了两种方法使用两个channel和使用一个channel,内容介绍详细具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03

最新评论