<optgroup id="kjtai"><li id="kjtai"><source id="kjtai"></source></li></optgroup><acronym id="kjtai"><sup id="kjtai"></sup></acronym>

    <legend id="kjtai"><i id="kjtai"></i></legend>
    <span id="kjtai"><sup id="kjtai"></sup></span>
    <track id="kjtai"></track>
    1. 摘要:为什么项目内需要链路追踪?当一个请求中,请求了多个服务单元,如果请求出现了错误或异常,很难去定位是哪个服务出了问题,这时就需要链路追踪。 从图中可以清晰的看出他们之间的调用关系,通过一个例子说明下链路的重要性,比如对方调我们一个接口,反馈在某个时间段这接口太慢了,在排查代码发现逻辑比较复杂,不光调用 阅读全文
      posted @ 2021-02-01 20:43 新亮笔记 阅读(179) 评论(0) 推荐(0) 编辑
      摘要:httpclient 模块介绍 httpclient 是基于 net/http 封装的 Go HTTP 客户端请求包,支持常用的请求方式、常用设置,比如: 支持设置 Mock 信息 支持设置失败时告警 支持设置失败时重试 支持设置项目内部的 Trace 支持设置超时时间、Header 等 请求说明 阅读全文
      posted @ 2021-01-25 20:05 新亮笔记 阅读(146) 评论(0) 推荐(0) 编辑
      摘要:前言 为了便于精准排查问题,需要将当前的请求信息与当前执行的 SQL 信息设置对应关系记录下来,记录的 SQL 信息包括: 执行 SQL 的当前时间; 执行 SQL 的文件地址和行号; 执行 SQL 的花费时长; 执行 SQL 的影响行数; 执行的 SQL 语句; 数据库组件使用的是 GORM。 思 阅读全文
      posted @ 2021-01-23 09:12 新亮笔记 阅读(187) 评论(0) 推荐(0) 编辑
      摘要:签名验证是为了保证接口安全和识别调用方身份,同时还需要满足以下几点: 可变性:每次的签名必须是不一样的。 时效性:每次请求的时效性,过期作废。 唯一性:每次的签名是唯一的。 完整性:能够对传入数据进行验证,防止篡改。 签名规则大同小异,根据自己的业务情况进行制定即可。 签名过程中我们会用到的几种算法 阅读全文
      posted @ 2021-01-10 22:39 新亮笔记 阅读(36) 评论(0) 推荐(0) 编辑
      摘要:相信大家都有这样的问题,天天写业务代码的程序员,怎么成为技术大牛?下面给大家分享下我对这个问题的看法,仅代表个人看法,比较粗浅,希望大家不要介意。 程序员大部分在做这两种事情,一是通过技术支持业务部门,二是通过技术支持技术部门,我们大部分做的是前者,因为前者的岗位比较多,例如几百人的技术部门,基础平 阅读全文
      posted @ 2020-12-27 16:59 新亮笔记 阅读(34) 评论(0) 推荐(0) 编辑
      摘要:概述 身边有位做业务的好朋友去创业了,在一起吃饭的时候聊起了这个话题,在这里给大家分享一下。 主要讨论了这些问题: 关于技术负责人。 关于研发流程,团队职能。 关于技术选型,技术架构,技术管理。 关于技术负责人 1、技术的能力 技术负责人,毋容置疑技术能力肯定要过关,技术能力包括技术攻坚能力和技术团 阅读全文
      posted @ 2020-12-27 16:58 新亮笔记 阅读(35) 评论(0) 推荐(0) 编辑
      摘要:改之前 在使用 gin 开发接口的时候,返回接口数据是这样写的。 type response struct { Code int `json:&quot;code&quot;` Msg string `json:&quot;msg&quot;` Data interface{} `json:&quot;data&quot;` } // always retu 阅读全文
      posted @ 2020-12-27 16:55 新亮笔记 阅读(81) 评论(0) 推荐(0) 编辑
      摘要:在开发过程中,我们有时会遇到这样的问题,将 2020-11-08T08:18:46+08:00 转成 2020-11-08 08:18:46,怎么解决这个问题? 解决这个问题,最好不要用字符串截取,或者说字符串截取是最笨的方法,这应该是时间格式化的问题。 我们先看一下 golang time 包中支 阅读全文
      posted @ 2020-12-27 16:54 新亮笔记 阅读(123) 评论(0) 推荐(0) 编辑
      摘要:咱们平时是这样使用 grpc.Dial 方法的,比如: conn, err := grpc.Dial(&quot;127.0.0.1:8000&quot;, grpc.WithChainStreamInterceptor(), grpc.WithInsecure(), grpc.WithBlock(), grpc.Wi 阅读全文
      posted @ 2020-12-27 16:52 新亮笔记 阅读(51) 评论(0) 推荐(0) 编辑
      摘要:在 Go 语言中,一个 struct 实现了某个接口里的所有方法,就叫做这个 struct 实现了该接口。 下面写一个 Demo 实现一下,先写一个 Study interface,里面需要实现 4 个方法 Listen、Speak、Read、Write,然后再写一个 study struct,去全 阅读全文
      posted @ 2020-12-27 16:49 新亮笔记 阅读(57) 评论(0) 推荐(0) 编辑
      手机购彩 头七还魂真实案例99年 | 公孙胜性格 | 深海100000米以下生物 | 套词顺口溜 | 左手狙皇的真人图片 | 怎样骂人最狠最毒简短 | 黄河龙棺 | 丰田爱丽 | 箭毒木图片 | kk键盘下载骂人神器 | 外星人暗中帮助中国人 | 初一数学表白公式大全 | 黑社会小说排行榜 | 散磕套词 | 骂人的脏话 秒杀对方 | 农村骂人歇后语 | 哈宝是什么意思 | 最直接最毒骂人带父母 | 711什么意思 | 修三峡大坝为了改龙脉 |