随笔分类 -  微服务系列课程

在Go中学习微服务的经验分享
摘要:一 谈谈对微服务的理解 1. 什么微服务? 微服务是一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。 每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP 阅读全文
posted @ 2023-01-29 10:35 qi66 阅读(880) 评论(0) 推荐(3) 编辑
摘要:一 main.go开发 至此,咱们的项目服务端代码,已经开发完毕,现在来看一下main.go文件中的代码: package main import ( micro2 "account/common/micro" "account/config/logger" "account/config/mysq 阅读全文
posted @ 2023-01-28 10:37 qi66 阅读(298) 评论(0) 推荐(0) 编辑
摘要:一 kibana介绍 Kibana :是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作。Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。 二 Kib 阅读全文
posted @ 2023-01-27 10:22 qi66 阅读(126) 评论(0) 推荐(0) 编辑
摘要:一 Logstash介绍 Logstash是具有实时流水线能力的开源的数据收集引擎。Logstash可以动态统一不同来源的数据,并将数据标准化到您选择的目标输出。它提供了大量插件,可帮助我们解析,丰富,转换和缓冲任何类型的数据。 logstash常用于日志系统中做日志采集设备,最常用于ELK中作为日 阅读全文
posted @ 2023-01-26 11:10 qi66 阅读(150) 评论(0) 推荐(0) 编辑
摘要:一 Elasticsearch介绍 Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”。 Elasticsearch 是位于 Elastic Stack 核 阅读全文
posted @ 2023-01-25 16:16 qi66 阅读(111) 评论(0) 推荐(0) 编辑
摘要:一 Filebeat介绍 filebeat是Beats中的一员。 Beats在是一个轻量级日志采集器,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。 Filebe 阅读全文
posted @ 2023-01-24 08:47 qi66 阅读(129) 评论(0) 推荐(0) 编辑
摘要:一 什么是ELK ELK是三个[开源软件]的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件,新增了一个Beats。 Elasticsearch :是分布式搜索引擎,提供搜集、分析、存储数据三大功能 主要特点 实时分析 分布式实时文件存储,并将每 阅读全文
posted @ 2023-01-22 19:16 qi66 阅读(156) 评论(0) 推荐(0) 编辑
摘要:一 Prometheus监控介绍 1.微服务监控系统promethues介绍 是一套开源的监控&报警&时间序列数据库的组合 基本原理是通过HTTP协议周期性抓取被监控组件的状态 适合Docker、 Kubernetes环境的监控系统 2.微服务监控系统promethues工作流程 Prometheu 阅读全文
posted @ 2023-01-21 09:28 qi66 阅读(259) 评论(0) 推荐(0) 编辑
摘要:一 jaeger链路追踪介绍 什么是链路追踪: 分布式链路追踪就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等 链路追踪主要功能: 故障快速定位:可以通过调用链结合业务日志快速定位错误信息 链路性能可 阅读全文
posted @ 2023-01-20 08:59 qi66 阅读(385) 评论(0) 推荐(0) 编辑
摘要:一 导包 import ( micro2 "account/common/micro" "account/config/logger" "account/config/mysql" "account/config/redis" "account/domain/repository" "account 阅读全文
posted @ 2023-01-19 10:15 qi66 阅读(70) 评论(0) 推荐(0) 编辑
摘要:一 Handle层开发功能说明 需要完成的服务开发功能: 登录 注册 查询用户信息 修改信息 发送注册邮件 发送重置密码邮件 重置密码 获取权限 修改权限 退出账号 删除账号 禁用账号 启用账号 从哪找需要开发的功能 找到proto/account/account.pb.micro.go文件,点击结 阅读全文
posted @ 2023-01-18 09:43 qi66 阅读(61) 评论(0) 推荐(0) 编辑
摘要:一 前言 在utils目录中新建一个swap.go文件 swap.go中主要存放一些可以使用到的一些公共函数 导包: import ( "account/domain/model" . "account/proto/account" "encoding/json" "google.golang.or 阅读全文
posted @ 2023-01-17 10:01 qi66 阅读(49) 评论(0) 推荐(0) 编辑
摘要:一 JWT介绍 JWT 英文名是 Json Web Token ,是一种用于通信双方之间传递安全信息的简洁的、URL安全的表述性声明规范,经常用在跨域身份验证。 JWT 以 JSON 对象的形式安全传递信息。因为存在数字签名,因此所传递的信息是安全的。 一个JWT Token就像这样: eyJhbG 阅读全文
posted @ 2023-01-16 10:21 qi66 阅读(139) 评论(0) 推荐(0) 编辑
摘要:一 雪花算法介绍 雪花算法是推特开源的分布式ID生成算法,用于在不同的机器上生成唯一的ID的算法。 该算法生成一个64bit的数字作为分布式ID,保证这个ID自增并且全局唯一。 1.第一位占用1bit,其值始终是0,没有实际作用。 2.时间戳占用41bit,单位为毫秒,总共可以容纳约69年的时间。当 阅读全文
posted @ 2023-01-15 11:05 qi66 阅读(135) 评论(0) 推荐(0) 编辑
摘要:一 获取QQ邮箱Pass 1.登录QQ邮箱 2.点击设置,点击账户,下拉找到POP3/SMTP,点击生成授权码 3.这样就获取了授权码,要妥善保管。 二 安装gomail go get gopkg.in/gomail.v2 三 初始化发送邮件 在mail目录下的mail.go文件中,输入以下代码: 阅读全文
posted @ 2023-01-14 09:52 qi66 阅读(133) 评论(0) 推荐(0) 编辑
摘要:一 go-redis介绍 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis: 基于键值的存储服务系统,支持多种数据类型,性能高,功能丰富 二 go-r 阅读全文
posted @ 2023-01-13 11:11 qi66 阅读(163) 评论(0) 推荐(0) 编辑
摘要:一 gorm介绍 Go语言中的database/sql包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的数据库驱动。使用database/sql包时必须注入(至少)一个数据库驱动。 我们常用的数据库基本上都有完整的第三方实现。例如:MySQL驱动 二 gorm安装 1.1 下载依赖 go 阅读全文
posted @ 2023-01-12 09:49 qi66 阅读(127) 评论(0) 推荐(0) 编辑
摘要:一 Zap日志介绍 Zap是在 Go 中实现超快、结构化、分级的日志记录。 Zap日志能够提供下面这些功能: 1、能够将事件记录到文件中,也可以在应用控制台输出 2、日志切割-可以根据文件大小,时间或间隔来切割日志文件 3、支持不同的日志级别。例如 INFO、DEBUG、ERROR等 4、能够打印基 阅读全文
posted @ 2023-01-11 10:59 qi66 阅读(193) 评论(0) 推荐(0) 编辑
摘要:一 Consul介绍 Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。 Consul是分布式的、高可用的、可横向扩展的。 1. 注册中心Consul基本介绍 Consul是一种服务网格解决方案 提供具有服务发现,配置和分段功能的全功能控制平面 Consul 附 阅读全文
posted @ 2023-01-10 10:28 qi66 阅读(414) 评论(0) 推荐(0) 编辑
摘要:一 domain层介绍说明 domain层专注于数据库数据领域开发,我们把数据库相关操作全部写在domain层。 model层:数据表字段定义与开发 repository层:数据库数据CURD操作 service层:数据库相关业务操作 对于复杂的业务操作,这样可以使业务逻辑更加清晰,有利于后期开发与 阅读全文
posted @ 2023-01-09 11:33 qi66 阅读(147) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示