
微服务系列课程
文章平均质量分 81
在Go中学习微服务的经验分享
夏沫の梦
人生苦短,我学GoLang
展开
-
关于微服务的一些总结和经验之谈,来看看你都了解吗
是谷歌开源的RPC框架。该技术是为了解决什么问题?解决了多语言数据传输的简单、通用、高效、安全的问题。它的调用流程?以client 调用 server 的 add函数为例。客户端:gRPC Server服务端:gRPC Stub交互过程就是客户端发送请求到服务端,服务端处理请求并将结果发送响应返给客户端。处理请求过程:客户端把请求的参数进行序列化,序列化是通过ProtoBuf协议【protobuf】来编码的,编完码向服务端发送请求,请求跨网络,基于HTTP2.0协议,原创 2023-01-29 10:38:01 · 1541 阅读 · 0 评论 -
(23)go-micro微服务客户端开发(使用负载均衡)
至此,go-micro微服务项目客户端开发(使用负载均衡)使用工作就正式完成。接下来就开始项目经验总结了,这是本专栏的最后一篇文章,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。欢迎大家加入夏沫の梦的学习交流进行学习交流经验,点击。原创 2023-01-28 10:40:21 · 834 阅读 · 0 评论 -
(22)go-micro微服务kibana使用
Kibana :是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作。Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。至此,go-micro微服务项目kibana使用工作就正式完成。接下来就开始客户端开发(使用负载均衡)的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。原创 2023-01-27 10:25:47 · 826 阅读 · 0 评论 -
(21)go-micro微服务logstash使用
Logstash是具有实时流水线能力的开源的数据收集引擎。Logstash可以动态统一不同来源的数据,并将数据标准化到您选择的目标输出。它提供了大量插件,可帮助我们解析,丰富,转换和缓冲任何类型的数据。logstash常用于日志系统中做日志采集设备,最常用于ELK中作为日志收集器使用至此,go-micro微服务项目logstash使用工作就正式完成。接下来就开始kibana使用的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。原创 2023-01-26 11:15:20 · 1228 阅读 · 0 评论 -
(20)go-micro微服务Elasticsearch使用
Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”。Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。原创 2023-01-25 16:18:30 · 1353 阅读 · 0 评论 -
(19)go-micro微服务filebeat收集日志
filebeat是Beats中的一员。Beats在是一个轻量级日志采集器,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。原创 2023-01-24 08:46:01 · 987 阅读 · 0 评论 -
(18)go-micro微服务ELK介绍
ELK, 它们都是开源软件,新增了一个Beats。Elasticsearch :是分布式搜索引擎,提供搜集、分析、存储数据三大功能主要特点实时分析分布式实时文件存储,并将每一个字段都编入索引文档导向,所有的对象全部是文档高可用性,易扩展,支持集群(Cluster)、分片和复制(Shards 和 Replicas)。Logstash :主要是用来日志的搜集、分析、过滤日志的工具几乎可以访问任何数据可以和多种外部应用结合支持弹性扩展Kibana :提供友好的Web界面,可以帮助汇总分析和搜索数据。原创 2023-01-22 19:19:21 · 1416 阅读 · 0 评论 -
(17)go-micro微服务Prometheus监控
prometheus是一套开源的监控&报警&时间序列数据库的组合基本原理是通过HTTP协议周期性抓取被监控组件的状态适合Docker、 Kubernetes环境的监控系统至此,go-micro微服务Prometheus监控工作就正式完成。接下来就开始微服务ELK介绍的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。欢迎大家加入夏沫の梦的学习交流进行学习交流经验,点击。原创 2023-01-21 09:32:02 · 1986 阅读 · 0 评论 -
(16)go-micro微服务jaeger链路追踪
分布式链路追踪就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等至此,go-micro微服务jaeger链路追踪开发工作就正式完成。接下来就开始Prometheus监控的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。欢迎大家加入夏沫の梦的学习交流进行学习交流经验,点击。原创 2023-01-20 09:01:37 · 1237 阅读 · 0 评论 -
(15)go-micro微服务main.go开发
- 至此,可以运行项目了,运行成功后出现下图,即可开发成功- 记得把consul运行起来,因为项目中使用了consul- 如果报错,可以私信博主或者加入博主的学习交流qun询问都可至此,go-micro微服务项目main.go开发工作就正式完成。接下来就开始jaeger链路追踪的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。欢迎大家加入夏沫の梦的学习交流进行学习交流经验,点击。原创 2023-01-19 10:18:40 · 1704 阅读 · 0 评论 -
(14)go-micro微服务服务层Handle开发
1. 登录2. 注册3. 查询用户信息4. 修改信息5. 发送注册邮件6. 发送重置密码邮件7. 重置密码8. 获取权限9. 修改权限10. 退出账号11. 删除账号12. 禁用账号13. 启用账号至此,go-micro微服务项目服务层Handle开发工作就正式完成。接下来就开始main.go的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。欢迎大家加入夏沫の梦的学习交流进行学习交流经验,点击。原创 2023-01-18 09:46:40 · 549 阅读 · 0 评论 -
(13)go-micro微服务公用函数开发
在utils目录中新建一个swap.go文件swap.go中主要存放一些可以使用到的一些公共函数import (至此,go-micro微服务公用函数开发工作就正式完成。接下来就开始服务层Handle层的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。欢迎大家加入夏沫の梦的学习交流进行学习交流经验,点击。原创 2023-01-17 10:04:28 · 518 阅读 · 0 评论 -
(12)go-micro微服务JWT跨域认证
JWT 英文名是 Json Web Token ,是一种用于通信双方之间传递安全信息的简洁的、URL安全的表述性声明规范,经常用在跨域身份验证。JWT 以 JSON 对象的形式安全传递信息。因为存在数字签名,因此所传递的信息是安全的。一个JWT Token就像这样:头部(Header)负载(Payload)签名(Signature)头部和负载以jSON形式存在,这就是JWT中的JSON,三部分的内容都分别单独经过了Base64编码,以.拼接成一个JWT Token。原创 2023-01-16 10:19:18 · 657 阅读 · 0 评论 -
(11)go-micro微服务雪花算法
雪花算法是推特开源的分布式ID生成算法,用于在不同的机器上生成唯一的ID的算法。该算法生成一个64bit的数字作为分布式ID,保证这个ID自增并且全局唯一。1.第一位占用1bit,其值始终是0,没有实际作用。2.时间戳占用41bit,单位为毫秒,总共可以容纳约69年的时间。当然,我们的时间毫秒计数不会真的从1970年开始记,那样我们的系统跑到2039/9/7 23:47:35 就不能用了,所以这里的时间戳只是相对。原创 2023-01-15 11:07:28 · 611 阅读 · 0 评论 -
(10)go-micro微服务发送邮件
一 获取QQ邮箱Pass- 1.登录QQ邮箱- 2.点击设置,点击账户,下拉找到POP3/SMTP,点击生成授权码原创 2023-01-14 09:54:27 · 291 阅读 · 0 评论 -
(9)go-micro微服务Redis配置
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis: 基于键值的存储服务系统,支持多种数据类型,性能高,功能丰富至此,go-micro微服务Redis配置开发工作就正式完成。接下来就开始发送邮件的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。欢迎大家加入夏沫の梦的学习交流进行学习交流经验,点击。原创 2023-01-13 11:13:48 · 915 阅读 · 0 评论 -
(8)go-micro微服务Mysql配置
Go语言中的包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的数据库驱动。使用包时必须注入(至少)一个数据库驱动。我们常用的数据库基本上都有完整的第三方实现。MySQL驱动至此,go-micro微服务Mysql配置开发工作就正式完成。接下来就开始正式的Redis配置编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。欢迎大家加入夏沫の梦的学习交流进行学习交流经验,点击。原创 2023-01-12 09:51:12 · 671 阅读 · 0 评论 -
(7)go-micro微服务zap日志配置
Zap是在 Go 中实现超快、结构化、分级的日志记录。Zap日志能够提供下面这些功能:1、能够将事件记录到文件中,也可以在应用控制台输出2、日志切割-可以根据文件大小,时间或间隔来切割日志文件3、支持不同的日志级别。例如 INFO、DEBUG、ERROR等4、能够打印基本信息,如调用文件/函数名和行号,日志时间等。zap的基本配置Zap提供了两种类型的日志记录器—Sugared Logger 和 Logger。在性能很好但不是很关键的上下文中,使用 SugaredLogger。原创 2023-01-11 11:00:31 · 842 阅读 · 0 评论 -
(6)go-micro微服务consul配置、注册中心
Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。Consul是分布式的、高可用的、可横向扩展的。Consul是一种服务网格解决方案提供具有服务发现,配置和分段功能的全功能控制平面Consul 附带-个简单的内置代理,可以开箱即用至此,go-micro微服务consul配置、注册中心开发工作就正式完成。接下来就开始Mysql的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。欢迎大家加入夏沫の梦的学习交流进行学习交流经验,点击。原创 2023-01-10 10:30:31 · 1244 阅读 · 1 评论 -
(5)go-micro微服务domain层开发
domain层专注于数据库数据领域开发,我们把数据库相关操作全部写在domain层。model层:数据表字段定义与开发repository层:数据库数据CURD操作service层:数据库相关业务操作对于复杂的业务操作,这样可以使业务逻辑更加清晰,有利于后期开发与维护。至此,go-micro微服务domain层开发工作就正式完成。接下来就开始consul配置、注册中心的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。欢迎大家加入夏沫の梦的学习交流。原创 2023-01-09 11:35:47 · 472 阅读 · 0 评论 -
(4)go-micro微服务proto开发
Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化、或者说序列化。它很适合做数据存储或RPC数据交换格式。可以用于即时通讯、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。原创 2023-01-08 08:29:28 · 925 阅读 · 0 评论 -
(3)go-micro微服务项目搭建
账户功能是每一个系统都绕不开的一部分,所以本次搭建的微服务项目就是账户微服务项目,其中向外暴露的功能有:登录注册查询用户信息修改信息发送注册邮件发送重置密码邮件重置密码获取权限修改权限退出账号删除账号禁用账号启用账号提供的功能总共有13个,基本上包含了账户相关的所有功能!在本次微服务项目中使用到的技术包括:DockerMysqlRedisZap日志Consul配置、注册中心发送邮件(QQ邮箱)Jaeger链路追踪。原创 2023-01-07 11:45:20 · 1024 阅读 · 0 评论 -
关于微服务,这些你都了解吗-微服务介绍
使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且它们可以通过自动化的方式部署什么叫微?单一功能代码少,不是,而且代码多架构变的复杂了微服务是设计思想,不是量的体现DDD(Domain-driven design)领域驱动设计是一种通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法。领域模型是对业务模型的抽象,DDD是把业务模型翻译成系统架构设计的一种方式。原创 2023-01-01 16:32:48 · 606 阅读 · 0 评论 -
微服务系列专栏介绍
本专栏是专门介绍微服务学习内容,希望大家能够通过学习本专栏,掌握微服务技术,现在系统介绍一下微服务。使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且它们可以通过自动化的方式部署什么叫微?单一功能代码少,不是,而且代码多架构变的复杂了微服务是设计思想,不是量的体现欢迎大家加入夏沫の梦的学习交流进行学习交流经验。原创 2022-12-30 18:46:46 · 776 阅读 · 0 评论