(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中引用 ...
随机推荐
- 【C++】spdlog光速入门,C++logger最简单最快的库
参考文档:https://spdlog.docsforge.com/master/ spdlog简介 Very fast, header only, C++ logging library. 一个he ...
- 使用MVC的实现登录注册功能
文章目录 1.视图层(View)页面的编写: 1.1.登录页面 1.2.注册页面 2.控制层(Controller)的编写 2.1. 注册 2.2 .登录 2.3 .实体类 3.Model层(Mode ...
- 6.Git忽略文件
忽略指定文件 有些文件与实际功能无关,不参与服务器上部署运行,把他们忽略调能够屏蔽ide工具之间的差异 1.在工作区目录下创建xxx.gitignore文件 (前缀名随意) 以斜杠"/&qu ...
- C++算法之旅、02 从木棒切割问题领悟二分法精髓
172.木棒切割问题 https://sunnywhy.com/problem/172 题目描述 给出n根木棒的长度,现在希望通过切割它们来得到至少k段长度相等的木棒(长度必须是整数),问这些长度相等 ...
- v-debounce-throttle是一个vue防抖节流指令
v-debounce-throttle是一个vue防抖节流指令 简介 v-debounce-throttle是一个vue防抖节流指令,控制单一事件的触发频率.其核心是拦截组件元素的v-on绑定事件,采 ...
- Appscan的安装破解以及使用
本文简单介绍Appscan的安装和使用. 一.下载安装 可自行百度下载相关安装包(因较高版本的破解资料比较难找,建议下载9.0版本). 双击.exe安装文件进行安装,在弹出的安装指引中各选项默认安装即 ...
- [论文阅读] 颜色迁移-EM概率分割的局部颜色迁移
颜色迁移-EM概率分割的局部颜色迁移 文章: Local Color Transfer via Probabilistic Segmentation by Expectation-Maximizati ...
- 【云原生 · Kubernetes】部署高可用kube-scheduler集群
个人名片: 因为云计算成为了监控工程师 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying 部署高可用kube-scheduler集群 13.1 创建 kube-scheduler 证 ...
- Scrum 框架的四个会议还适用于哪些敏捷方法?
敏捷转型需要深入理解概念和思维,团队才能更好的进行实践.本文将通过介绍Scrum框架的四个会议还适用于哪些敏捷方法,来让大家更直观的理解敏捷转型. 本文整理自:PingCode 敏捷大学,转载请注明链 ...
- 微服务系列之服务注册发现 Consul
1.为什么需要服务注册与发现 微服务架构中,服务于服务之间内部通信必不可少,比如A服务调用B服务,起初我们的做法是,A服务从配置文件中拿到B服务的IP.端口地址,进行访问,本身是没什么问题的,但是 ...