摘要: [TOC] 概述 首先同步下项目概况: 上篇文章分享了,路由中间件 Jaeger 链路追踪(理论篇),这篇文章咱们接着分享:路由中间件 Jaeger 链路追踪(实战篇)。 这篇文章,确实让大家久等了,主要是里面有一些技术点都是刚刚研究的,没有存货。 先看下咱们要实现的东西: API 调用了 5 个服 阅读全文
posted @ 2019-09-28 21:07 程序员新亮 阅读(2769) 评论(0) 推荐(1) 编辑
摘要: [TOC] 概述 首先同步下项目概况: 上篇文章分享了,路由中间件 捕获异常,这篇文章咱们分享:路由中间件 Jaeger 链路追踪。 啥是链路追踪? 我理解链路追踪其实是为微服务架构提供服务的,当一个请求中,请求了多个服务单元,如果请求出现了错误或异常,很难去定位是哪个服务出了问题,这时就需要链路追 阅读全文
posted @ 2019-09-16 12:47 程序员新亮 阅读(2498) 评论(0) 推荐(0) 编辑
摘要: [TOC] 概述 首先同步下项目概况: 上篇文章分享了,路由中间件 日志记录,这篇文章咱们分享:路由中间件 捕获异常。当系统发生异常时,提示 “系统异常,请联系管理员!”,同时并发送 panic 告警邮件。 什么是异常? 在 Go 中异常就是 panic,它是在程序运行的时候抛出的,当 panic 阅读全文
posted @ 2019-09-11 12:43 程序员新亮 阅读(2450) 评论(2) 推荐(0) 编辑
摘要: [TOC] 概述 首先同步下项目概况: 上篇文章分享了,规划项目目录和参数验证,其中参数验证使用的是 validator.v8 版本,现已更新到 validator.v9 版本,最新代码查看 github 即可。 这篇文章咱们分享:路由中间件 日志记录。 日志是特别重要的一个东西,方便我们对问题进行 阅读全文
posted @ 2019-09-05 19:30 程序员新亮 阅读(2351) 评论(0) 推荐(0) 编辑
摘要: [TOC] 概述 首先同步下项目概况: 上篇文章分享了,使用 go modules 初始化项目,这篇文章咱们分享: 规划目录结构 模型绑定和验证 自定义验证器 制定 API 返回结构 废话不多说,咱们开始吧。 规划目录结构 上面的目录结构是我自定义的,大家也可以根据自己的习惯去定义。 control 阅读全文
posted @ 2019-08-28 12:52 程序员新亮 阅读(3297) 评论(4) 推荐(1) 编辑
摘要: [TOC] 概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的。 为什么是开箱即用,它会集成哪些功能? 以上功能点,都是常用的,后期可能还会增加。 废话不多说,咱们开始吧。 创建一个项目,咱们首先要考虑一个依赖包的管理工具。 常见的包管理有,dep、go vend 阅读全文
posted @ 2019-08-26 19:24 程序员新亮 阅读(1382) 评论(0) 推荐(1) 编辑
摘要: [TOC] 概述 原来分享基础语法的时候,还未分享过 chan 通道,这次把它补上。 chan 可以理解为队列,遵循先进先出的规则。 在说 chan 之前,咱们先说一下 go 关键字。 在 go 关键字后面加一个函数,就可以创建一个线程,函数可以为已经写好的函数,也可以是匿名函数。 举个例子: 输出 阅读全文
posted @ 2019-08-02 09:50 程序员新亮 阅读(8858) 评论(3) 推荐(5) 编辑
摘要: [TOC] 概述 开始 gRPC 了,这篇文章学习使用 gRPC,输出一个 Hello World。 用 Go 实现 gRPC 的服务端。 用 Go 实现 gRPC 的客户端。 gRPC 支持 4 类服务方法,咱们这次实现 单项 RPC 和 服务端流式 RPC。 四类服务方法 单项 RPC 服务端发 阅读全文
posted @ 2019-07-30 09:46 程序员新亮 阅读(2290) 评论(2) 推荐(0) 编辑
摘要: [TOC] 概述 很多读者在后台向我要 Gin 框架实战系列的 Demo 源码,在这里再说明一下,源码我都更新到 GitHub 上,地址:https://github.com/xinliangnote/Go 开始今天的文章,为什么要自定义错误处理?默认的错误处理方式是什么? 那好,咱们就先说下默认的 阅读全文
posted @ 2019-07-25 09:49 程序员新亮 阅读(9547) 评论(0) 推荐(2) 编辑
摘要: [TOC] 概述 上篇文章分享了 Gin 框架使用 Logrus 进行日志记录,这篇文章分享 Gin 框架的数据绑定与验证。 有读者咨询我一个问题,如何让框架的运行日志不输出控制台? 解决方案: 我是怎么知道的?看框架代码。 : 代码我就不贴了。 我们看到 使用了两个中间件 ,如果不想使用,那就直接 阅读全文
posted @ 2019-07-23 19:49 程序员新亮 阅读(8238) 评论(0) 推荐(0) 编辑