GO

GO

  • Go 与异步 IO - io_uring 的思考

    Go 与异步 IO - io_uring 的思考

    本来准备写一篇详细关于 io_uring 的中文文章,不过在使用上官方的一些文章写的已经非常详细,简单的拿来翻译感觉又失去了乐趣于是便借鉴 liburing,配合 Go 提供的并发机制实现了一个 golang 版本的异步 IO 库 —— iouring-go

    查看全文
  • Go 深入源码 —— select 与 channel

    Go 深入源码 —— select 与 channel

    Golang 通过 select...case 语句实现了对 channel 的多路复用以及非阻塞收发操作

    查看全文
  • Go 深入源码 —— channel

    Go 深入源码 —— channel

    Don'tcommunicatebysharingmemory,sharememorybycommunicating.不要通过共享内存来通信,而要通过通信来实现内存共享。

    查看全文
  • 深入 Kubernetes Informer -- Store 与 Indexer

    深入 Kubernetes Informer -- Store 与 Indexer

    在Informer中Store提供了将存储对象的能力,而Indexer在Store的基础上又提供了可以自定义索引来查询对象的功能StoreStore接口提供的功能比较直观,主要是用于对对象的增删改查。typeStoreinterface{Add(objinterface{})errorUpdate(

    查看全文
  • 深入 kubernetes 的 Wait 工具包

    深入 kubernetes 的 Wait 工具包

    wait包提供了通过轮询或者监听一个条件的修改(关闭channel,ctx.Done,...)来执行指定函数的工具函数,这些函数可以分为四大类Until类:根据channel的关闭或者contextDone的信号来结束对指定函数的轮询操作Condition类:不只是会根据channel或者conte

    查看全文
  •  编译 Go 程序时加入 git commit 等额外信息

    编译 Go 程序时加入 git commit 等额外信息

    在编译 Go 程序的时候如何加入一些额外的信息,比如 当前最新的 `commit sha`,编译的 `go version` 之类的

    查看全文
  • grpc 开发进阶 - 失败重试

    grpc 开发进阶 - 失败重试

    RPC调用失败情况分析RPC调用失败可以分为三种情况:RPC请求还没有离开客户端RPC请求到达服务器,但是服务器的应用逻辑还没有处理该请求服务器应用逻辑开始处理请求,并且处理失败最后一种情况是通过serverconfig配置的重试策略来处理的,是本文主要讲解的内容而对于前两种情况,gRPC客户端会自

    查看全文
  • grpc 开发进阶 - 传递 metadata

    grpc 开发进阶 - 传递 metadata

    现在网上大部分都是grpc相关的介绍,真正涉及到grpc的配置使用的文章还是比较少的所以本系列着重介绍grpc开发时可以能会用到的一些配置grpc支持在server端和client端发送metedata,一些验证信息之类的可以放在这个里边metadata可以通过metadata包来构建typeMDm

    查看全文
  • grpc 开发进阶 - 使用拦截器 interceptor

    grpc 开发进阶 - 使用拦截器 interceptor

    现在网上大部分都是grpc相关的介绍,真正涉及到grpc的配置使用的文章还是比较少的所以本系列着重介绍grpc开发时可以能会用到的一些配置拦截器在作用于每一个RPC调用,通常用来做日志,认证,metric等等interfactor分为两种unaryinterceptor拦截unary(一元)RPC调

    查看全文
  • grpc 开发进阶 - 使用压缩器 compressor

    grpc 开发进阶 - 使用压缩器 compressor

    现在网上大部分都是grpc相关的介绍,真正涉及到grpc的配置使用的文章还是比较少的所以本系列着重介绍grpc开发时可以能会用到的一些配置

    查看全文