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

目录
  • 一 微服务项目介绍
  • 二 go-micro安装
    • 1.拉取micro镜像
    • 2.生成项目目录
  • 三 项目搭建
    • 使用DDD模式开发项目:
  • 四 最后

一 微服务项目介绍

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

提供的功能总共有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微服务框架搭建的资料请关注我们其它相关文章!

(0)

相关推荐

  • 基于微服务框架go-micro开发gRPC应用程序

    go-micro是golang的一个微服务框架.这篇文章将介绍使用go-micro最新版本v4开发gRPC服务的方式. 1.安装protoc 这个工具也称为proto编译器,可以用来生成各种开发语言使用proto协议的代码. 下载地址:https://github.com/protocolbuffers/protobuf/releases 一般下载最新版本就行,注意要符合自己当前的操作系统. 解压后里边有个 protoc.exe ,拷贝到 GOPATH 的 bin 目录下,我这里就是 C:/Us

  • go-micro使用Consul做服务发现的方法和原理解析

    目录 安装Consul 安装Consul插件 服务端使用Consul 服务注册 注册过程 健康检查 客户端使用Consul 调用服务 发现过程 效果展示 go-micro v4默认使用mdns做服务发现.不过也支持采用其它的服务发现中间件,因为多年来一直使用Consul做服务发现,为了方便和其它服务集成,所以还是选择了Consul.这篇文章将介绍go-micro使用Consul做服务发现的方法.关于Consul的使用方式请参考我的另一篇文章:搭建Consul服务发现与服务网格 . 安装Consu

  • go micro微服务proto开发安装及使用规则

    目录 一 Protobuf介绍 二 安装Protobuf 三 Protobuf语法 1.1 基本规范 1.2 字段规则 1.3 service如何定义 1.4 Message如何定义 四 proto代码编写 五 生成.go文件 六 最后 一 Protobuf介绍 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件. 他们用于 RP

  • go-micro开发RPC服务以及运行原理介绍

    go-micro是一个知名的golang微服务框架,最新版本是v4,这篇文章将介绍go-micro v4开发RPC服务的方法及其运作原理. 基本概念 go-micro有几个重要的概念,后边开发RPC服务和介绍其运行原理的时候会用到,这里先熟悉下: Service:代表一个go-micro应用程序,Service中包括:Server.Client.Broker.Transport.Registry.Config.Store.Cache等程序运行所需的各个模块. Server:代表一个go-micr

  • Go 微服务开发框架DMicro设计思路详解

    目录 背景 概述 架构 设计理念 面向接口设计 会话 Session 消息 Message 协议 Proto 编码 Codec 连接 Socket 有机的组合 插件 Plugin 组件 未来展望 背景 DMicro 诞生的背景,是因为我写了 10 来年的 PHP,想在公司内部推广 Go, 公司内部的组件及 rpc 协议都是基于 swoole 定制化开发的.调研了市面上的各种框架,包括 beego,goframe,gin,go-micro,go-zero,erpc 等等,可能是我当时技术能力有限,

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

    目录 一 微服务项目介绍 二 go-micro安装 1.拉取micro镜像 2.生成项目目录 三 项目搭建 使用DDD模式开发项目: 四 最后 一 微服务项目介绍 账户功能是每一个系统都绕不开的一部分,所以本次搭建的微服务项目就是账户微服务项目,其中向外暴露的功能有: 登录 注册 查询用户信息 修改信息 发送注册邮件 发送重置密码邮件 重置密码 获取权限 修改权限 退出账号 删除账号 禁用账号 启用账号 提供的功能总共有13个,基本上包含了账户相关的所有功能! 在本次微服务项目中使用到的技术包括

  • 新手学习微服务SpringCloud项目架构搭建方法

    这篇文章主要介绍了新手学习微服务SpringCloud项目架构搭建方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Spring的微服务框架SpringCloud受到众多公司欢迎,给大家带来一篇框架搭建入门.本次采用的版本是Spring Cloud版本为Finchley.RELEASE. 一.SpringCloud项目简介 spring cloud: 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.

  • 通过lms.samples熟悉lms微服务框架的使用详解

    经过一段时间的开发与测试,终于发布了Lms框架的第一个正式版本(1.0.0版本),并给出了lms框架的样例项目lms.samples.本文通过对lms.samples的介绍,简述如何通过lms框架快速的构建一个微服务的业务框架,并进行应用开发. lms.samples项目基本介绍 lms.sample项目由三个独立的微服务应用模块组成:account.stock.order和一个网关项目gateway构成. 业务应用模块 每个独立的微服务应用采用模块化设计,主要由如下几部分组成: 主机(Host

  • 深入理解DevOps+微服务框架

    单体架构 单体架构是什么 在搞懂DevOps和微服务之前,需要先搞懂什么是单体应用/单体架构.简单来说,就跟在校的一些小项目一样,项目的Demo写好了,找一台服务器安装环境,然后把jar包远程上服务器,然后跑起来服务就可以了.这个时候进行简单的服务监控也不难,如果项目出了问题,查看一下运行日志,就可以知道哪一步出问题了.如果懂一些脚本,也可以写一些脚本分析日志,解放双手监控服务器.这种单体架构就是采用瀑布流方式开发的,服务的流程就是:设计 -> 开发 -> 测试 -> 部署 . 单体B/

  • go zero微服务框架logx日志组件剖析

    目录 addTenant api 和 rpc 的实现 logx 日志组件剖析 Go-zero 中 logx 是如何使用的? Logx 基本的数据结构 Logx 的默认接口实现 Logx 自定义存储日志位置 和 实现自定义接口的方式 自定义存储日志位置 实现自定义接口 addTenant api 和 rpc 的实现 上一篇我们说到咱们还剩下 addTenant 功能还未实现,不知道有没有兄弟感兴趣去实验一波的,本篇文章进行简要补充 根据上一篇文章分析,其实我们只需要执行如下几步即可: 编写 ten

  • golang微服务框架基础Gin基本路由使用详解

    目录 概述 1. 基本路由 2. 路由参数 获取URL路径全部参数 获取URL路径单个参数 获取URL中指定的参数 获取指定默认值的参数的 概述 路由是自定义url地址执行指定的函数,良好的路由定义可以对seo起到很好的效果. 1. 基本路由 gin框架封装了http库,提供了 GET.POST.PUT.DELETE.PATCH.HEAD.OPTIONS 这些http请求方式. 使用 router.method() 来绑定路由 func (group *RouterGroup) METHOD(r

  • Spring Cloud微服务使用webSocket的方法

    webSocket webSocket长连接是一种在单个tcp连接上进行全双工通信的协议,允许双向数据推送.一般微服务提供的restful API只是对前端请求做出相应.使用webSocket可以实现后端主动向前端推送消息. 网关配置 spring cloud 的网关组件有zuul和getway getway base: config: nacos: nacoshost: localhost port: 8848 spring: application: name: gateway main:

  • Spring Boot 快速搭建微服务框架详细教程

    前言: SpringBoot是为了简化Spring应用的创建.运行.调试.部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置. 简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题---习惯大于约定. Spring Boot默认使用tomcat作为服务器,使用logback提供日志记录. Spring Boot的主要优点: 为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XM

随机推荐