(3)go-micro微服务项目搭建

news2024/12/27 13:42:44

文章目录

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

一 微服务项目介绍

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

提供的功能总共有13个,基本上包含了账户相关的所有功能!

  • 在本次微服务项目中使用到的技术包括:
  1. go-micro v2
  2. Docker
  3. Mysql
  4. Redis
  5. Zap日志
  6. Consul配置、注册中心
  7. 发送邮件(QQ邮箱)
  8. Jaeger链路追踪
  9. Prometheus监控
  10. 雪花算法生成用户ID
  11. JWT跨域认证
  12. Makefile自动化编译工具
  13. Elasticsearch搜索引擎
  14. Logstash日志搜集
  15. Kibana日志分析可视化界面
  16. Filebeat数据收集
  17. 负载均衡

本次微服务项目中使用到的技术,基本上包含了微服务相关的技术,所以想要掌握微服务的小伙伴们,要跟紧我们的项目开发,早日掌握微服务。

二 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
  • 命令讲解:
  1. –rm 是不再生成新的micro镜像
  2. /d/学习/GO_project/micro/micro-common 为你当前目录的路径地址,注意格式,使用的是 / 。
  3. micro/micro:v2.9.3 指定使用的镜像名称
  4. 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自动生成,存放的信息为日志信息。

  • 项目目录如下所示:
    image.png

四 最后

  • 至此,go-micro微服务项目搭建工作就正式完成。

  • 接下来就开始正式的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。

欢迎大家加入 夏沫の梦的学习交流 进行学习交流经验,点击 夏沫の梦学习交流

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/146859.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言航路】第十站:指针进阶(一)

目录 一、字符指针 二、指针数组 三、数组指针 1.数组指针的定义 2.数组名和&数组名 3.数组指针的使用 四、数组参数、指针参数 1.一维数组传参 2.二维数组传参 3.一级指针传参 4.二级指针传参 五、函数指针 总结 一、字符指针 我们知道指针有一种类型叫做字符…

Vue3新特性

文章目录一 新特性之组合API1.1 ref&reactive1.2 methods1.3 props和context1.4 完整代码&效果演示二 Vue3新特性之生命周期函数(在setup中)三 父子级组件间数据传递3.1 Provide&Inject四 Fragment(碎片)一 新特性之组合API 1.1 ref&re…

XMLHttpRequest和Referer

XMLHttpRequest 对象简介 1999年,微软公司发布 IE 浏览器5.0版,第一次引入新功能:允许 JavaScript 脚本向服务器发起 HTTP 请求。这个功能当时并没有引起注意,直到2004年 Gmail 发布和2005年 Google Map 发布,才引起广…

承蒙时光不弃,做个好人!

落幕 2022年博客之星终于要在今晚2023年1月7日24点整落下帷幕,从上个月28号开始,仿佛经历了一场噩梦,本是抱着随便玩玩的心态报了名,没成想,刚开始自投五星之后竟然显示10几名,那是不是我稍加努力就进前十…

狂揽两千星,速度百倍提升,高性能 Python 编译器 Codon 火了

前言 众所周知,Python 是一门简单易学、具有强大功能的编程语言,在各种用户使用统计榜单中总是名列前茅。相应地,围绕 Python,研究者开发了各种便捷工具,以更好的服务于这门语言。 编译器充当着高级语言与机器之间的…

TensorFlow笔记之单神经元完成多分类任务

文章目录前言一、逻辑回归1.二分类问题2.多分类问题二、数据集调用三、TensorFlow1.x1.定义模型2.训练模型3.结果可视化四、TensorFlow2.x1.定义模型2.训练模型3.结果可视化总结前言 记录分别在TensorFlow1.x与TensorFlow2.x中使用单神经元完成MNIST手写数字识别的过程。 一、…

Linux出现ping: www.baidu.com: 未知的名称或服务解决方法

文章目录解决对象方法先找到网关在Windows下进行VMnet8的配置ping成功Linux出现ping: www.baidu.com: 未知的名称或服务解决方法 解决对象 本文的方法用于各位大佬已经用过以下方法仍然无法ping成功 Linux防火墙已关闭和Windows防火墙已经关闭已经配置好 vim /etc/sysconfig/…

手撕C语言理论知识(上)粗略讲解C语言的部分入门知识

目录 C语言的一些基础知识 操作符简介 Scanf的%[ ] 语句(分支、循环、goto) 函数 C语言的一些基础知识 主函数 - 程序的入口 - main函数有且仅有一个。char - short - int - long - long long - float - double%d - 十进制整型 %u - 无符号整型 %…

【博学谷学习记录超强总结,用心分享|产品经理基础总结和感悟15】

互联网产品设计背后的心理学02:你就是会被其他人的行为所影响一、前言二、实验设计及结果分析三、实验原理四、实验方法总结五、产品设计中的应用六、结束语前文回顾:让人们做出决定并不是信息本身,而是这些信息呈现的背景或情景。我们这个信…

Spring Cloud Alibaba Dubbo(服务远程调用)

一、软件环境 &#xff08;1&#xff09;自己部署服务器 所有软件及服务器自己进行管理提供&#xff0c;可以直接在项目中添加Spring Cloud依赖。推荐 <dependencyManagement> <dependencies> <dependency> <groupId>com.a…

liunx centos9中安装flask并在pycharm中使用图文攻略

liunx centos9中安装flask并在pycharm中使用图文攻略1.首先在liunx的终端中输入2.安装好flask之后就在pycharm创建新的项目处添加flask项目3.点击绿色三角箭头开始运行flask项目4. 然后登录ip地址就出现Hllo world就代表flask环境搭建完成需要注意事项1.首先在liunx的终端中输入…

ngx_thread_pool_init()

ngx_thread_pool_cycle()函数的主要工作是从待处理的任务队列中获取一个任务&#xff0c;然后调用任务对象的handler()函数处理任务&#xff0c;完成后把任务放置到完成队列中&#xff0c;并通过ngx_notify()通知主线程 手写线程池与性能分析 - 知乎 pthread_cond_wait函数的原…

【5G RRC】5G系统消息介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

一键绕过ID锁激活,为什么很多人都会失败?绕ID这一篇就够了

最近阳了所以暂时断更&#xff0c;你们也要注意身体&#xff0c;最好不要阳 现在绕ID的方法已经非常完善&#xff0c;一个小白选手只要有设备就可以正常绕过ID&#xff0c;总的来说绕ID分为两个步骤&#xff1a;第一步是手机的越狱&#xff0c;这里只能是用checkra1n越狱&…

数据在内存中存储☞(超详解)

目录 一.数据类型大家族 1.了解类型的意义 2.数据类型大家族的分类 二.详解☞数据储存之整形 1.储存方式 &#xff08;1&#xff09;.原码反码补码的概念 &#xff08;2&#xff09;.原码反码补码出现的原因&#xff1a; 计算机中只有加法器没有减法器&#xff0c;所有只…

SemanticKITTI: A Dataset for Semantic Scene Understanding of LiDAR Sequences

Paper name SemanticKITTI: A Dataset for Semantic Scene Understanding of LiDAR Sequences Paper Reading Note URL: https://arxiv.org/pdf/1904.01416.pdf TL;DR 2019 ICCV 论文&#xff0c;提出了一个大规模的真实场景 LiDAR 点云标注数据集 SemanticKITTI&#xff…

数字信号处理第六次试验:数字信号处理在双音多频拨号系统中的应用

数字信号处理第六次试验&#xff1a;数字信号处理在双音多频拨号系统中的应用前言一、实验目的二、实验原理和方法1.关于双音多频拨号系统2.电话中的双音多频&#xff08;DTMF&#xff09;信号的产生与检测3.检测DTMF信号的DFT参数选择4.DTMF信号的产生与识别仿真实验三、实验内…

菜鼠的保研总结

1.个人基本情况 本科学校&#xff1a;山东某双非 本科专业&#xff1a;网络工程 成绩排名&#xff1a;1/46 英语成绩&#xff1a;四级529&#xff0c;六级502 科研竞赛&#xff1a;美国大学生数学建模比赛特等奖提名、全国英语翻译比赛三等奖、山东省蓝桥杯java大学生B组三等奖…

C++基础:KMP

让我们先看一个问题&#xff1a;给定一个字符串 S&#xff0c;以及一个模式串 P&#xff0c;所有字符串中只包含大小写英文字母以及阿拉伯数字。模式串 P 在字符串 S 中多次作为子串出现。求出模式串 P 在字符串 S 中所有出现的位置的起始下标。输入格式第一行输入整数 N&#…

【Python】杨辉三角中的排成一列编号的问题

题目描述 下面的图形是著名的杨辉三角形&#xff1a; 如果我们按从上到下、从左到右的顺序把所有数排成一列&#xff0c;可以得到如下数列&#xff1a; 1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,⋯ 给定一个正整数 N&#xff0c;请你输出数列中第一次出现 N是在第几个数&#xff1f; …