(3)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微服务项目搭建工作就正式完成。
接下来就开始正式的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。
欢迎大家加入 夏沫の梦的学习交流群 进行学习交流经验,点击
(3)go-micro微服务项目搭建的更多相关文章
- 【spring colud】spring cloud微服务项目搭建【spring boot2.0】
spring cloud微服务项目搭建 =================================== 示例版本: 1.spring boot 2.0版本 2.开发工具 IntellJ IDE ...
- docker微服务部署之:三,搭建Zuul微服务项目
docker微服务部署之:二.搭建文章微服务项目 一.新增demo_eureka模块,并编写代码 右键demo_parent->new->Module->Maven,选择Module ...
- docker微服务部署之:二、搭建文章微服务项目
docker微服务部署之:一,搭建Eureka微服务项目 一.新增demo_article模块,并编写代码 右键demo_parent->new->Module->Maven,选择M ...
- docker微服务部署之:一,搭建Eureka微服务项目
先说明一下docker需要搭建的微服务的基本情况: 项目情况:一个demo_parent项目,下面三个子模块:demo_eureka(eureka服务).demo_article(文章服务).demo ...
- Docker 搭建 ELK 读取微服务项目的日志文件
思路: 在docker搭建elasticsearch与kibana来展示日志,在微服务部署的机子上部署logstash来收集日志传到elasticsearch中,通过kibana来展示,logstas ...
- springboot的maven多模块项目架构微服务搭建——依赖方式的多模块演化为微服务项目
在上一篇依赖方式多模块的基础上对项目进行改造.主要改造user-service项目,service要配置mapper.mybatis及数据库相关的东西,后面的接口消费方user就不再需要了 注意:以下 ...
- SpringCloud(1)---基于RestTemplate微服务项目案例
基于RestTemplate微服务项目 在写SpringCloud搭建微服务之前,我想先搭建一个不通过springcloud只通过SpringBoot和Mybatis进行模块之间额通讯.然后在此基础上 ...
- springcloud微服务架构搭建
SpringCloud微服务框架搭建 一.微服务架构 1.1什么是分布式 不同模块部署在不同服务器上 作用:分布式解决网站高并发带来问题 1.2什么是集群 多台服务器部署相同应用构成一个集群 作用:通 ...
- .Net Core 商城微服务项目系列(一):使用IdentityServer4构建基础登录验证
这里第一次搭建,所以IdentityServer端比较简单,后期再进行完善. 1.新建API项目MI.Service.Identity,NuGet引用IdentityServer4,添加类InMemo ...
- SpringCloud微服务项目实战 - API网关Gateway详解实现
前面讲过zuul的网关实现,那为什么今天又要讲Spring Cloud Gateway呢?原因很简单.就是Spring Cloud已经放弃Netflix Zuul了.现在Spring Cloud中引用 ...
随机推荐
- day45-JDBC和连接池01
JDBC和连接池01 1.JDBC概述 基本介绍 JDBC为访问不同的数据库提供了同一的接口,为使用者屏蔽了细节问题 Java程序员使用JDBC,可以连接任何提供了jdbc驱动程序的数据库系统,从而完 ...
- 【NOI2016】 循环之美 题解
Solution 由数论基础知识 答案即为$$\sum_{i = 1}^n\sum_{j = 1}^m[i \perp j][j \perp k]$$ 莫反套路可化为$$\sum_{d = 1}\mu ...
- HTML基础知识(3)浮动、塌陷问题
1.浮动 1.1 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...
- 6.pygame-搭建主程序
职责明确 新建plane_main.py 封装主游戏类 创建游戏对象 启动游戏 新建plane_sprites.py 封装游戏中所有需要使用的精灵子类 提供游戏的相关工具 #plane_sprit ...
- C# 语法分析器(二)LR(0) 语法分析
系列导航 (一)语法分析介绍 (二)LR(0) 语法分析 (三)LALR 语法分析 (四)二义性文法 (五)错误恢复 (六)构造语法分析器 首先,需要介绍下 LALR 语法分析的基础:LR(0) 语法 ...
- Spring Boot:自定义 Whitelabel 错误页面
一.概述在本文中,我们将研究如何禁用和自定义 Spring Boot 应用程序的默认错误页面,因为正确的错误处理描述了专业性和质量工作. 2.禁用白标错误页面 首先,让我们看看如何通过将server. ...
- django 多 APP urls的实现
项目下urls.py 引入admin from django.contrib import admin 引入path,include from django.urls import path,incl ...
- 关于最新版本listen1 (2.1.6)的修改心得(添加下载功能)
注:本文只作为技术交流 前言 再次感谢 listen1 的作者开发出如此强大的音乐播放器 项目地址 上一篇的文章没有解决跨域问题(命名不能正确命名), 上一篇文章 地址 这次解决了,并简单的美化了下载 ...
- ArcObjects SDK开发 001 ArcObjects SDK 简介
1.什么是ArcObjects SDK 在网上搜索什么是ArcObjects,会搜到如下的定义. 这个定义比较准确,也比较容易理解. 2.什么是ArcEngine 在网上搜索ArcEngine,一般会 ...
- 教你用JavaScript完成轮播图
案例介绍 欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个轮播图.图片每3秒自动轮换,也可以点击左右按键轮播图片,当图片到达最左端或最右端时, ...