golang
已收录文章:13861篇
-
Golang实现零拷贝IO的核心在于避免数据在内核空间与用户空间间复制;1.使用syscall.Sendfile(Linux)或TransmitFile(Windows)可直接将文件数据从文件描述符传输至socket描述符,无需用户空间参与;2.采用mmap将文件映射到内存,允许直接访问内容,跳过read/write操作;3.结合bufio进行缓冲以减少系统调用次数,提升效率;相较于io.Copy,其内部使用固定缓冲区并涉及用户与内核空间拷贝,未发挥零拷贝优势;选择方法需视应用场景及操作系统而定,Send167 收藏
-
解析复杂邮件需结合第三方库。1.标准mail.ReadMessage仅解析最外层内容,处理multipart结构需用github.com/emersion/go-message或github.com/jhillyerd/enmime;2.解码时根据Content-Transfer-Encoding选择base64或quotedprintable解码,再通过golang.org/x/text/encoding转换字符集;3.提取附件需遍历MIME节点判断Content-Disposition,并用mime.167 收藏
-
使用context实现Goroutine超时与取消,通过WithTimeout或WithCancel创建上下文,结合select监听ctx.Done()及时终止任务,传递context以传播取消信号,并用defercancel()防止资源泄露。167 收藏
-
Go服务适配Istio需理解Sidecar流量拦截机制,确保健康检查路径开放、合理配置HTTP客户端连接池、透传追踪头信息、通过Service域名调用依赖服务,并合理分配Sidecar资源以优化性能。167 收藏
-
介绍 本文介绍如何通过 rk-boot 快速搭建 gRPC 超时拦截器。 什么是 gRPC 超时拦截器? 拦截器会拦截 gRPC 请求,并根据策略返回超时错误。 安装 go get github.com/rookie-ninja/rk-boot go get github.com/rookie-nin166 收藏
-
导语:通过node_exporter监控GPU以及cpu频率、温度,不想用一个node_exporter再加一个dcgm,分开监控。我这里监控的是热区的温度。如果需要监控各个cpu核心的温度需要修改一下代码。 结合了https://git166 收藏