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())
    }
}
相关文章
|
7月前
|
前端开发 JavaScript Java
v-for比v-if优先级更高?面试官:回去等通知吧
v-for比v-if优先级更高?面试官:回去等通知吧
|
7月前
|
移动开发 前端开发 JavaScript
面试官为啥总是喜欢问前端路由实现方式?
面试官为啥总是喜欢问前端路由实现方式?
|
数据采集 JavaScript API
猿人学对抗赛踩坑记录
猿人学对抗赛踩坑记录
162 0
猿人学对抗赛踩坑记录
|
SQL 缓存 NoSQL
踩坑:以为是Redis缓存没想到却是Spring事务!
最近碰到了一个Bug,折腾了我好几天。并且这个Bug不是必现的,出现的概率比较低。一开始我以为是旧数据的问题,就让测试重新生成了一下数据,重新测试。由于后面几轮测试均未出现,我也就没太在意。
踩坑:以为是Redis缓存没想到却是Spring事务!
|
消息中间件 JavaScript 小程序
多线程如何实现事务回滚?一招帮你搞定!
多线程如何实现事务回滚?一招帮你搞定!
多线程如何实现事务回滚?一招帮你搞定!
|
JavaScript 前端开发 Java
干货|各种语言是怎么处理时间的?以及常见的 bug
干货|各种语言是怎么处理时间的?以及常见的 bug
131 0
|
数据采集 Python
python爬虫怎么解决超时timeou错误
python爬虫怎么解决超时timeou错误
|
SQL 监控 NoSQL
高并发-【抢红包案例】之三:使用乐观锁方式修复红包超发的bug
高并发-【抢红包案例】之三:使用乐观锁方式修复红包超发的bug
158 0
|
设计模式 Kubernetes 算法
leader说用下httpclient的重试,但我没用,因为我有更好的方案。
leader说用下httpclient的重试,但我没用,因为我有更好的方案。
197 0
|
缓存 前端开发 API
异步的发展,顺手学会怎么处理多请求
异步的发展,顺手学会怎么处理多请求
127 0