240 发简信
IP属地:湖北
  • singleflight

    说明 可以直接看看go官方扩展包[https://pkg.go.dev/golang.org/x/sync/singleflight],大致用途就是针对并行的返回相同的多个请...

  • 120
    k8s搭建xxl-job测试环境

    背景 搭建本地k8s环境和xxl-job测试环境,在k8s环境中跑通xxl-job调度器和执行器 搭建k8s 注:本次搭建仅针对mac 安装docker&k8s 下载dock...

  • go之slice

    slice中文切片的意思,是go独有的类型,底层是数组,可以很方便的进行截取,也支持扩容、拷贝操作 slice 创建 拷贝 扩容

  • io之pipe

    io包中通过pipe实现了管道 源码 总结 pipe最核心还是通过channel来进行通信,利用无缓冲channel实现了读端和写端的阻塞等待和唤醒,同时通过记录读取字节数和...

  • bufio

    bufio顾名思义,就是自带buffer的io,其内部提供了Reader和Writer两个struct,通过buffer可以提升读写的性能,下面看看主要的几个读写的方法 Re...

  • 120
    sync.pool

    sync.pool 主要用于暂时保存对象,提供存取操作,可以复用对象以避免频繁的创建对象,当goroutine很多,频繁的创建某个对象时,可能会形成并发⼤-占⽤内存⼤-GC ...

  • go之WaitGroup

    WaitGroup WaitGroup主要用于等待多个goroutines执行完,具体怎么用这种基操就不说了 结构 Add和Done Wait 总结 WaitGroup巧妙的...

  • go之strings

    strings strings包提供了一些常用的字符串操作,对于中文也是友好的 Index strings包的strings.go除了Index函数外还有很多其他的,实现都比...

  • go之sort

    正如sort的含义,go的sort包提供排序的能力,其内部实现了堆排、快排、插入排序、希尔排序和归并排序,而且针对某些排序比如快排和归并排序进行了优化,做到了性能的极致 接口...

  • go之channel

    channel channel的实现相对map简单了不少,通过锁mutex来保证并发安全,同时只提供读写和关闭操作,channel支持有/无缓冲区,对于有缓冲区的channe...

  • go之map

    map map是啥?怎么用?这两个问题搞不清楚的,不用往下看了,先弄清楚再说 源码 先看看参考资料深度解密Go语言之 map[https://juejin.cn/post/6...

  • context.go

    context主要用于跨多个Goroutine设置截止时间、同步信号、传递上下文请求值,没了解过Context的先看看这个Golang Context 源码分析[https:...

  • container之ring

    go中的ring实现了环形双向链表 源码解析 举个栗子 总结 别的不说,Link方法可谓精妙,包含了向后插入新节点、合并两个环形链表和删除链表部分节点三个功能,而且结合Pre...

  • container之list

    go的list实现了双向链表 源码解析 举个栗子 总结 list通过构造root标识节点,实现了双向链,快速的找到front和last数据节点,且在节点的插入,移动等操作中,...

  • container之heap

    go的heap实现了堆,关于堆可以看下数据结构:堆(Heap)[https://www.jianshu.com/p/6b526aa481b1],这里就不阐述了,go实现的源码...

  • go之unsafe

    unsafe包 unsafe包配合uintptr可以绕过go的安全检查,对内存进行操作 unsafe包中提供3个函数,2个类型 两个类型 ArbitraryType Arbi...

  • go之UTF-8

    unicode 请先查看 字符编码笔记:ASCII,Unicode 和 UTF-8[https://www.ruanyifeng.com/blog/2007/10/ascii...

  • min.insync.replicas=1这个问题,你仔细看那个场景吧,是在二阶段的间隙,如果遇到了leader副本的更换,follower会在执行日志截断时丢失数据

    Kafka - 关于高水位和Leader Epoch

    高水位的作用 在 Kafka 中,高水位的作用主要有 2 个。 定义消息可见性,即用来标识分区下的哪些消息是可以被消费者消费的。 帮助 Kafka 完成副本同步。 下面这张图...

  • 这个epoch缓存是针对分区维度的,每个leader都会向zk注册,同时会同步leader的一些信息到对应controller里面,而controller本身就是被zk监控的,也是保证了高可用性的,所以就算leader的broker宕机了,也没事哈

    Kafka - 关于高水位和Leader Epoch

    高水位的作用 在 Kafka 中,高水位的作用主要有 2 个。 定义消息可见性,即用来标识分区下的哪些消息是可以被消费者消费的。 帮助 Kafka 完成副本同步。 下面这张图...

  • @i0shuang 没什么作用,更新都是rpc请求,无用的更新没必要,会增加数据传输

    Kafka - 关于高水位和Leader Epoch

    高水位的作用 在 Kafka 中,高水位的作用主要有 2 个。 定义消息可见性,即用来标识分区下的哪些消息是可以被消费者消费的。 帮助 Kafka 完成副本同步。 下面这张图...

个人介绍
keep simple keep stupid