![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go-micro V2 从零开始
文章平均质量分 88
hotcoffie
低端码农,喜欢分享一些自己学习的浅显知识
展开
-
go-micro V2 从零开始(十)定制网关(2)——集成断路器Hystrix
本文相关代码:gitee文章目录前言步骤一、ResponseWriter二、hystrix plugin2.1 编写插件2.2 注册插件总结支持一下前言本章继续增强网关功能,集成之前已经在普通项目中使用过的断路器Hystrix。集成这个插件,我在网上看到了很多个版本,但试运行发现他们都没有真正实现了熔断。虽然超时第一时间将错误信息反馈到前端,但是其实并没有真的断开请求,整个调用链仍处于阻塞中,等到阻塞结束你还会在网关日志中收到两条报错信息,大意是不必要的WriteHeader,以及返回信息大于he原创 2020-10-20 16:11:16 · 683 阅读 · 2 评论 -
go-micro V2 从零开始(九)定制网关(1)——集成JWT鉴权
本文相关代码:gitee文章目录前言步骤一、jaeger1.1 简介1.2 启动二、OpenTracing2.1 简介2.2 配置三、代码改造3.1 WrapHandler3.2 WrapClient3.3 WrapSubscriber3.4 Finished接口web api四、验证总结支持一下前言本章属于特别篇,不在我原本的计划内。这个系列我同步发布在csdn和知乎,前几天我在知乎为数不多的几条评论里,看到了两条对go-micro框架的差评。第一条只是简单的表示这个框架有坑,但是似乎并没有兴趣原创 2020-10-20 12:12:53 · 1102 阅读 · 1 评论 -
go-micro V2 从零开始(八)集成链路追踪工具jaeger
本文相关代码:gitee文章目录前言步骤一、hystrix-go二、API网关2.1 创建目录2.2 编辑main.go前言这一章我们演示如何在网关中集成熔断器器Hystrix。步骤一、hystrix-gohystrix是一个容错库,旨在隔离指向远程系统,服务和第三方库的请求,杜绝级联故障,并在复杂的分布式系统中实现弹性,毕竟在分布式系统中,故障是不可避免的。此项目脱胎于由Netflix开源的同名java项目。https://github.com/Netflix/HystrixHystr原创 2020-10-10 12:42:16 · 921 阅读 · 4 评论 -
go-micro V2 从零开始(七)集成断路器Hystrix
本文相关代码:gitee文章目录前言步骤一、hystrix-go二、go-plugins包三、引入Hystrix插件四、自定义Hystrix Wrapper总结支持一下前言断路器是微服务体系中的保险丝,避免小的故障通过连锁反应造成整个系统瘫痪甚至损坏,这一章我们演示如何在项目中集成知名断路器Hystrix。为了实现集成,本章会涉及到go-micro wrapper的概念。简单说,wrapper是一个函数装饰器,类似java springMVC中拦截器,或者gin 中间件的概念,可以无侵入的设定函原创 2020-09-28 19:11:42 · 886 阅读 · 2 评论 -
go-micro V2 从零开始(六)集成nats消息中间件
本文相关代码:gitee文章目录前言具体步骤一、NATS1.1 简介1.2 启动二、配置消息中间件2.1 代码中配置2.1.1 消息订阅2.1.2 消息发送2.2 命令行参数2.3 环境变量三、使用micro web测试3.1 启动服务3.2 调用接口总结支持一下前言本章我们为系统集成第三方的消息中间件。与注册中心一样,go-micro框架为消息中间件提供了标准的接口Broker。只要实现这个接口就可以接入任意消息中间件。官方已经为我们实现了grpc、rabbitmq、nats、redis等很多原创 2020-09-25 13:37:58 · 775 阅读 · 0 评论 -
go-micro V2 从零开始(五)集成etcd注册中心
本文相关代码:gitee文章目录前言具体步骤一、etcd1.1 简介1.2 启动etcd二、服务注册2.1 基于命令行的注册中心配置2.2 基于代码的注册中心配置前言接下来几章,重点介绍go-micro几个常用功能的集成。首先集成的是服务的注册与发现,go-micro框架为服务注册发现提供了标准的接口Registry。只要实现这个接口就可以定制自己的服务注册和发现。不过官方已经为主流注册中心提供了官方的接口实现,大多数时候我们不需要从头写起。在老版本的go-micro中默认使用consul作为注原创 2020-09-25 10:04:57 · 1658 阅读 · 4 评论 -
go-micro V2 从零开始(三)消息的订阅和发布
本文相关代码:gitee文章目录前言具体步骤一、改造 task-srv1.1 改造 proto1.2 改造 repository1.3 改造 handler1.4 改造 main二、编写成就服务 achievement-srv2.1 创建目录2.2 数据库操作2.3 业务实现三、运行并校验3.1 运行3.2 校验总结支持一下前言上一章,我们已经完成了todolist系统的核心服务task-srv,能够顺利实现任务的增删改查等操作。现在假设我们打算在task-srv服务的基础上,拓展更多丰富的功能,原创 2020-09-17 20:27:41 · 1034 阅读 · 2 评论 -
go-micro V2 从零开始(四)集成micro api网关
本文相关代码:gitee文章目录前言具体步骤一、启动服务二、启动网关2.1 网关启动命令2.2 service not found 异常处理2.3 接口调用三、编写api服务3.1 安装go-restful3.2 REST 映射前言上一章我们参考demo程序hello-service手写了第一个go-micro服务task-srv,并通过编写task-cli.go成功实现了微服务调用。这一章,我们再回过头来研究micro工具包的另一个作用——网关,实现task-srv的http调用。具体步骤原创 2020-09-18 16:36:34 · 3421 阅读 · 7 评论 -
go-micro V2 从零开始(二)手写第一个微服务
文章目录前言具体步骤一、创建目录二、编写task.proto三、实现服务3.1 数据库操作3.2 业务实现3.3 注册服务四、运行并校验4.1 运行4.2 task-cli 调用服务总结支持一下前言上一章我们借助micro工具包创建了一个demo程序hello-service,并通过编写hello-cli.go成功实现了微服务调用。接下来的若干章我们参考示例代码,编写一组自己的微服务,并逐步引入第三方插件,最终编写一个微服务版的todolist程序.这一章,我们先来手写第一个微服务:task-sr原创 2020-09-10 18:48:23 · 1560 阅读 · 2 评论 -
go-micro V2 从零开始(一)使用micro工具自动生成项目
文章目录前言一、Go-Micro是什么?go-micro简介go-micro的主要功能go-micro通信流程二、使用步骤1.安装micro2.读入数据总结1. 什么是前言这是一系列GO语言微服务框架go-micro的学习笔记,主要记录我在go-micro学习摸索中遇到的问题。由于微服务知识浩如烟海,每一个点展开都值得大书特书,这份笔记重实操轻理论重点记录的是操作的流程,和各类问题的解决方案。希望这份笔记能够帮助以后的自己,和所有看到它的朋友实现以下目标:顺利搭建一个当前版本下被反复验证可行原创 2020-09-10 13:15:06 · 4099 阅读 · 6 评论