KevinYan

LV0
发表了文章

在容器里设置GOMAXPROCS的正确姿势

GOMAXPROCS 是 Go 提供的非常重要的一个环境变量。通过设定 GOMAXPROCS,用户可以调整调度器中 Processor(简称P)的数量。由于每个...

KevinYan
发表了文章

分布式链路跟踪中的traceid和spanid代表什么?

在分布式服务架构下,一个 Web 请求从网关流入,有可能会调用多个服务对请求进行处理,拿到最终结果。这个过程中每个服务之间的通信又是单独的网络请求,无论请求经过...

KevinYan
发表了文章

用Kubernetes搭建Etcd集群和WebUI

今天用这篇文章带大家在自己的电脑上搭建一个Kubernetes Etcd集群,Kubernetes本身的功能就依赖Etcd实现,不过并不会开放给我们的程序使用,...

KevinYan
发表了文章

Goroutine Local Storage的一些实现方案和必要性讨论

最近在设计调用链与日志跟踪的API,发现相比于Java与C++,Go语言中没有原生的线程(协程)上下文,也不支持TLS(Thread Local Storage...

KevinYan
发表了文章

Interceptor拦截器 -- gRPC生态里的中间件

gRPC的拦截器(interceptor)类似各种Web框架里的请求中间件,请求中间件大家都知道是利用装饰器模式对最终处理请求的handler程序进行装饰,这样...

KevinYan
发表了文章

Go语言内部包--控制包成员的对外暴露

Go 语言中的软件包推荐按照:组织名/项目名 的形式安排软件包的文件目录结构,一般「项目名」文件目录下还会按照功能、抽象约定、具体实现等维度再划分一些子目录。在...

KevinYan
发表了文章

gRPC的平滑关闭和在Kubernetes上的服务摘流方案总结

平滑关闭和服务摘流是保证部署了多节点的应用能够持续稳定对外提供服务的两个重要手段,平滑关闭保证了应用节点在关闭之前处理完已接收到的请求,以前在文章「学习用Go编...

KevinYan
发表了文章

借助 Pod 删除事件的传播实现 Pod 摘流

这是实现「 Kubernetes 集群零停机时间更新」系列文章的第三部分。在本系列的第二部分中,我们通过利用 Pod 生命周期钩子实现了应用程序Pod的正常终止...

KevinYan
发表了文章

使用 PDB 避免 Kubernetes 集群中断

这是我们实现 Kubernetes 集群零停机时间更新的系列文章的第四部分也是最后一部分。在前两篇文章 「 如何优雅地关闭Kubernetes集群中的Pod 」...

KevinYan
发表了文章

如何优雅地关闭Kubernetes集群中的Pod

这是我们实现 Kubernetes 集群零停机时间更新的第二部分。在本系列的第一部分中,我们列举出了简单粗暴地使用kubectl drain 命令清除集群节点上...

KevinYan
发表了文章

Kubernetes群集的零停机服务器更新

在Kubernetes集群的生命周期中,总会有某个时候,你需要对集群的宿主机节点进行维护。这可能包括程序包更新,内核升级或部署新的VM映像。在Kubernete...

KevinYan
发表了文章

什么是大端序和小端序,为什么要有字节序

字节序,又称端序或尾序(英语中用单词:Endianness 表示),在计算机领域中,指电脑内存中或在数字通信链路中,占用多个字节的数据的字节排列顺序。

KevinYan
发表了文章

内联函数和编译器对Go代码的优化

在很多讲 Go 语言底层的技术资料和博客里都会提到内联函数这个名词,也有人把内联函数说成代码内联、函数展开、展开函数等等,其实想表达的都是 Go 语言编译器对函...

KevinYan
发表了文章

来了解一下K8S的Operator模式

前面的文章介绍了 Kubernetes 自带的管理有状态应用的控制器 StatefulSet ,它能够完成应用的拓扑顺序状态管理 (比如,重启时按照顺序重建 P...

KevinYan
发表了文章

内存对齐 | 原来字段顺序还能影响结构体占用的内存空间

大家好啊,不知道看了网管在上周的文章Go指针的使用限制和unsafe.Pointer突破之路,你们有没有感觉Golang 比之前想的还好用呢?确实能直接读写内存...

KevinYan
发表了文章

Go指针的使用限制和突破之路

大家好呀,今天网管想在这篇文章里好好跟大家聊一下 Go 语言指针这个话题,相较于 C 而言,Go 语言在设计时为了使用安全给指针在类型和运算上增加了限制,这让G...

KevinYan
发表了文章

Kubernetes--玩转Pod滚动更新123

今天推荐一篇关于Kubernetes上服务滚动更新相关的配置选项的文章,文章列出了最常用的几个配置项,解释了他们是怎么影响调度器对服务进行滚动更新的,同时还带出...

KevinYan
发表了文章

并发编程--用SingleFlight合并重复请求

大家好啊,今天网管想给大家介绍一下Go的singleflight包,当然它不是直译过来的单飞的意思~~!SingleFlight是Go语言sync扩展库提供的另...

KevinYan
发表了文章

觉得WaitGroup不好用?试试ErrorGroup吧!

在并发编程里,sync.WaitGroup并发原语的使用频率非常高,经常用于协同等待场景:一个goroutine在检查点(Check Point)等待一组执行任...

KevinYan
发表了文章

常用限流算法的应用场景和实现原理

在高并发业务场景下,保护系统时,常用的"三板斧"有:"熔断、降级和限流"。今天和大家谈谈常用的限流算法的几种实现方式,这里所说的限流并非是网关层面的限流,而是业...

KevinYan

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券