场景 有个查询结果集的操作,无可避免的需要在循环获取数据,然后将结果集放到 map 中,这个操作在压测的时候,没出现问题,发布到生产环境之后,开始偶现 fatal error: concurrent map read and map write 错误,导致容器重启了。 原因 多个协程同时对 map 进行读写操作,导致数据竞争 测试环境压测未复现是因为单个 pod 常规时间只有一个 CPU,资源不够…
场景 有个查询结果集的操作,无可避免的需要在循环获取数据,然后将结果集放到 map 中,这个操作在压测的时候,没出现问题,发布到生产环境之后,开始偶现 fatal error: concurrent map read and map write 错误,导致容器重启了。 原因 多个协程同时对 map 进行读写操作,导致数据竞争 测试环境压测未复现是因为单个 pod 常规时间只有一个 CPU,资源不够…
讨论
登录后参与讨论
还没有评论,来说第一句吧。