Kitex踩坑记录,Kitex超时控制问题

简介: Kitex踩坑记录,Kitex超时控制问题

报错问题

2023/010/28 17:20:10.250768 default_server_handler.go:234: [Error] KITEX: processing request error, remoteService=, remoteAddr=127.0.0.1:65425, error=default codec read failed: read tcp 127.0.0.1:8888->127.0.0.1:65425: i/o timeout

分析原因

Hertz rpc 调用base-service服务,kitex不设置读写超时时间默认5s,既在5s内没有收到请求就超时,导致后面请求无法接收,所以只需要设置超时控制时间即可

解决方案

原因:kitex超时控制
详细请见cloudwego文档:https://www.cloudwego.io/zh/docs/kitex/tutorials/service-governance/timeout/
在这里插入图片描述```

package main
import (
    "github.com/cloudwego/kitex/server"
    "go.uber.org/zap"
    "log"
    "net"
    "qiniu/cmd/social/db"
    example "qiniu/cmd/social/kitex_gen/social/example/socialservice"
    "time"
)

func main() {
   
   
    addr, _ := net.ResolveTCPAddr("tcp", ":8801")

    var opts []server.Option
    //配置超时控制
    opts = append(opts, server.WithServiceAddr(addr))
    opts = append(opts, server.WithReadWriteTimeout(365*24*60*60*time.Second))
    opts = append(opts, server.WithExitWaitTime(365*24*60*60*time.Second))
    svr := example.NewServer(new(SocialServiceImpl), opts...)

    db.Init()
    logger, _ := zap.NewDevelopment()
    zap.ReplaceGlobals(logger)
    err := svr.Run()

    if err != nil {
   
   
       log.Println(err.Error())
    }
}
AI 代码解读
目录
打赏
0
0
0
0
0
分享
相关文章
【面试题】面试官问:如果有100个请求,你如何使用Promise控制并发?
【面试题】面试官问:如果有100个请求,你如何使用Promise控制并发?
174 0
一直让 PHP 程序员懵逼的同步阻塞异步非阻塞,终于搞明白了
【9月更文挑战第8天】恭喜你掌握了同步阻塞和异步非阻塞的概念,这是许多 PHP 程序员容易困惑的地方。同步阻塞指代码按顺序执行,需等待操作完成;异步非阻塞则允许后台执行操作,不阻塞程序。理解这些概念能显著提升程序性能和用户体验,特别是在高并发场景和分布式系统中。随着技术发展,越来越多的 PHP 框架支持异步编程,掌握这些概念将让你在开发中更得心应手。
126 7
缓存一致性问题,这么回答肯定没毛病!
缓存一致性问题,这么回答肯定没毛病!
面试官问:如果有100个请求,你如何使用Promise控制并发?
面试官问:如果有100个请求,你如何使用Promise控制并发?
486 0
面试官:说下你在项目中是如何处理高并发的???
面试官:说下你在项目中是如何处理高并发的???
476 0
面试官:说下你在项目中是如何处理高并发的???
踩坑:以为是Redis缓存没想到却是Spring事务!
最近碰到了一个Bug,折腾了我好几天。并且这个Bug不是必现的,出现的概率比较低。一开始我以为是旧数据的问题,就让测试重新生成了一下数据,重新测试。由于后面几轮测试均未出现,我也就没太在意。
踩坑:以为是Redis缓存没想到却是Spring事务!
如何处理JDK线程池内线程执行异常?讲得这么通俗,别还搞不懂
本篇 《如何处理 JDK 线程池内线程执行异常》 这篇文章适合哪些小伙伴阅读呢? 适合工作中使用线程池却不知异常的处理流程,以及不知如何正确处理抛出的异常
用户重复注册分析-多线程事务中加锁引发的bug
用户重复注册分析-多线程事务中加锁引发的bug
157 0