扫码阅读
手机扫码阅读
gRPC为什么使用截止时间而不是超时时间?
44 2024-11-27
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
江南一点雨
扫码关注公众号
松哥正在录制TienChin项目视频,使用的技术栈是Spring Boot和Vue3。他邀请大家一起加入这个项目,以实现超过90%的完成率,并提供了视频教程链接。
在讨论HTTP请求中的超时设置时,松哥解释了在微服务系统中,为什么通常不设置连接超时(connectTimeout),而是使用请求截止时间。在微服务体系结构中,客户端发出的请求会经过多个服务,这使得单个服务的连接超时设置变得不足以处理整个请求链路。例如,如果设置5秒的连接超时,这只适用于到达第一个服务的时间,而不涵盖后续服务之间的请求。
为了解决这个问题,松哥介绍了使用截止时间(DeadLineTime)的方法,这个时间涵盖了整个请求的生命周期。他展示了如何在gRPC中设置请求的截止时间,并提供了代码示例。在这个例子中,客户端设置了3秒的截止时间,在服务端通过休眠来模拟处理时间。如果超过截止时间,客户端的onError方法会被触发,并抛出DEADLINE_EXCEEDED异常。
松哥鼓励对这个技术细节感兴趣的人尝试实践,并再次提醒TienChin项目视频的可用性,鼓励大家参与项目。
想要了解更多内容?
文章来源:
江南一点雨
扫码关注公众号
江南一点雨的其他文章
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线