go-zero框架HttpCode 503错误与context canceled高相关性根因分析
当流量瞬时激增时,API会出现大量 HttpCode 为 503 的错误。与此同时,发现另一个错误 `responses.go:69 write response failed, error: context canceled` 与该错误具有很强的相关性。
当流量瞬时激增时,API会出现大量 HttpCode 为 503 的错误。与此同时,发现另一个错误 `responses.go:69 write response failed, error: context canceled` 与该错误具有很强的相关性。
熔断是一种通用能力,可以在服务端做也可以在客户端做。我们的项目中大多数都基于 go-zero 框架实现,而使用 go-zero 框架实现的项目自带服务端熔断能力,所以本文的目的是阐述如何在客户端侧实现熔断机制。
不管是十几年前 SOA 的流行,还是 7、8 年前微服务的大行其道,还是如今云原生的展露锋芒,背后都离不开一件事,程序拆分或者说服务拆分。否则,一个单体应用,以上的这些技术潮流好像都与它没什么关系,只是一个看客。
最近正好在编写一套新的面试题,其中有一道是与高并发相关的。出题的目的是想了解一下候选人面对大流量场景下的优化思路。在出这道题的过程中,我自己也梳理了一下自己对这个问题的思路。
我们中国有句古话,分久必合,合久必分。
很多事物的发展都逃不开这个规律。如今,这件事也正在分布式、微服务概念大行其道的软件开发领域里发生。
在一个大系统中,数据就像水,整个系统就像是一个漏斗,漏斗的每一层代表每个子程序。上层的子程序对性能的损耗越低,能流下去的水就越多,直到最后一层「数据库」处,也可以理解为是存储。
随着20年来互联网的蓬勃发展,一个软件系统所要面对的访问压力上限被逐渐提高。 虽然如此,但是那些 […]
今天来纠正一个错误。先和大家说一声抱歉:D 昨晚睡觉前,惯例打开「订阅号助手」回复一些留言。有一 […]
是的,这份礼物最佳受众是程序员。但是,如果你不是程序员,相信这些能使你更懂程序员,能更好的与他们交流。 有些小 […]
今天端午节,估计这篇文章送达的时候你还在睡觉:D,Z哥先祝你度过个愉快的小假期。 这篇是「分布式系统理论」 […]