240 发简信
IP属地:福建
  • otel 源码阅读(三)

    Tracer Tracer的逻辑很简单,Tracer接口就一个Start方法,用来生成新的span。与之相对于的tracer结构体,可以说是非常简单 然后是实现Tracer接...

  • otel 源码阅读(二)

    这里主要讲一下 TracerProvider 先来看看New方法 可以看到tp里面重要的功能就这些: sampler取样器; idGenerator ID生成器,用于生成Tr...

  • otel 源码阅读(一)

    先看官方例子: 在tracerProvider函数中我们可以看到通过jaeger.New生成了一个Exporter, 之后通过tracesdk.NewTracerProvid...

  • 服务网格遇到的坑

    最近服务在迁移到k8s+istio服务网格上,迁了之后遇到了一些问题,经过调研发现并解决了部分问题,在此记录下。 问题一:迁移后监控发现redis时延变高。普遍增高约1-2m...

  • istio 边车流量的一些冷门配置

    包括或者排除部分流量绕过边车代理参数: 例子:

  • 当http连接池遇到istio

    背景:最近再鼓捣公司微服务上service_mesh,在使用istio进行流量分发的过程中遇到了一个让人头疼的问题,流量分发并没有按照预期中的来,配置什么的也完全正确,百思不...

  • 120
    MySQL 8.0 新特性

    MySQL 8.0 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 注意:从 MySQL 5....

  • Go Map详解

    写的非常仔细非常棒的一篇文章,降到了map的读、写、遍历、扩容等等底层机制,注释也是非常详细,非常值得阅读https://segmentfault.com/a/1190000...

  • 120
    Go是如何发送HTTP请求的

    一切的一切要从Transport的RoundTrip说起 重要的角色主要有两个:Transport和PersistConn Transport中维护了空闲的持久链接当发起一个...

  • Go常见的一些性能优化

    []byte和string 转换 尽量避免[]byte和string的互相转换,go的string是不可变类型,标准实现中和[]byte的互转均为值拷贝 多数场景下都可以优先...

  • 120
    说说golang的对象池sync.Pool

    网上关于sync.Pool的源码分析的文章比较多,本文的重点不在于源码分析,而在于简单易懂的介绍一下sync.Pool的内部实现方式,如果想要了解更多,可以看下参考中的文章 ...

  • 【转载】秒杀系统

    一个简单的秒杀系统 实现原理: 通过redis原子操作减库存 图一 优点缺点简单好用考验redis服务能力 是否公平公平先到先得 我们称这类秒杀系统为: 简单秒杀系统 如果刚...

  • 记一次线上Go服务内存暴涨问题

    周日上了一次线,观察了流量和日志没发现问题,但是过了一会儿突然报警内存使用率超出阈值,赶紧查看原因。 在监控上观测到,有部分机器突发内存暴涨,内存使用率从22%突然增长至99...

  • 关于Go代码中slice的append的bug

    本人某次在做code review的时候,看到类似下面这样的代码,其中有一处注释,奈何才疏学浅,看了之后感觉注释中的做法与原来的做法没有本质区别,故而亲自试验了一番,前几次简...

  • 记一次redis内存逐出

    最近刚换了个组,然后遇到了一个redis内存逐出的事故,但是监控没有发生任何报警。 因为刚转组不熟悉,所以就开始一点点了解,下面是一些背景。 redis使用的是proxy集群...