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语言入门环境搭建及GoLand安装教程详解

    go语言入门环境搭建及GoLand安装教程详解

    这篇文章主要介绍了go语言入门环境搭建及GoLand安装教程详解,需要的朋友可以参考下
    2020-12-12
  • Go语言中websocket的使用demo分享

    Go语言中websocket的使用demo分享

    WebSocket是一种在单个TCP连接上进行全双工通信的协议。这篇文章主要和大家分享了一个Go语言中websocket的使用demo,需要的可以参考一下
    2022-12-12
  • 使用go语言实现查找两个数组的异同操作

    使用go语言实现查找两个数组的异同操作

    这篇文章主要介绍了使用go语言实现查找两个数组的异同操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go get命令使用socket代理的方法

    Go get命令使用socket代理的方法

    由于某些不可描述的原因,国内使用 go get 命令安装某些包的时候会超时导致失败,比如 net 包、 sys 包、 tools 包等。这篇文章给大家介绍go get 命令使用socket 代理的方法,感兴趣的朋友一起看看吧
    2018-10-10
  • Go语言中关于set的实现思考分析

    Go语言中关于set的实现思考分析

    Go 开发过程中有时我们需要集合(set)这种容器,但 Go 本身未内置这种数据容器,故常常我们需要自己实现,下面我们就来看看具体有哪些实现方法吧
    2024-01-01
  • Go语言题解LeetCode下一个更大元素示例详解

    Go语言题解LeetCode下一个更大元素示例详解

    这篇文章主要为大家介绍了Go语言题解LeetCode下一个更大元素示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Go基础系列:Go切片(分片)slice详解

    Go基础系列:Go切片(分片)slice详解

    这篇文章主要介绍了Go语言中的切片(分片)slice详细说明 ,需要的朋友可以参考下
    2022-04-04
  • 深入理解Golang的反射reflect示例

    深入理解Golang的反射reflect示例

    本文主要介绍了Golang的反射reflect示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Golang技巧之重试机制详解

    Golang技巧之重试机制详解

    重试机制是一种在程序执行过程中出现错误后重新尝试执行程序的一种机制,可以减少程序运行过程中出现的错误,从而提高程序的可靠性,本文就来讲讲Golang中是如何实现重试机制的吧
    2023-05-05
  • GO CountMinSketch计数器(布隆过滤器思想的近似计数器)

    GO CountMinSketch计数器(布隆过滤器思想的近似计数器)

    这篇文章主要介绍了GO CountMinSketch计数器(布隆过滤器思想的近似计数器),文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-09-09

最新评论