golang
文章平均质量分 91
阿拉斯加大闸蟹
JDcloud;ByteDance;XueQiu;YiChe;CATARC
展开
-
go Redis SDK线程实现导致延迟问题分析说明
6. 与客户沟通,podA设置了liveness和readiness probe,探测http端口,问题发生期间,没有出现异常,说明node本地容器网络没有问题。1.客户做压力测试时问题发生,在podA内手工发送http本地请求,延迟明显,有时延迟2-10s,有时卡住curl不退出。PodB没有明显卡顿。在进行压力测试过程中,发现客户端访问业务pod访问有延迟,共两个pod,一个延迟大(2-10s),一个延迟小。7.客户对podA没有对各环节做详细的延迟监控,没有关键路径的日志,异常日志等。原创 2023-02-06 16:35:25 · 5615 阅读 · 0 评论 -
golang map原理
先说结论,在 golang 中 map 是无序的,准确的说是无法严格保证顺序的, 从上面的源码中我们可以知道,golang 中 map 在扩容后,可能会将部分 key 移至新内存,由于在扩容搬移数据过程中,并未记录原数据位置, 并且在 golang 的数据结构中也并未保存数据的顺序,所以那么这一部分在扩容后实际上就已经是无序的了。不难看出,即使不对 map 进行扩容,在多次遍历时也是无序的,这是因为 golang 官方在设计时故意加上随机的元素,将遍历 map 的顺序随机化,用来防止使用者用来顺序遍历。原创 2023-01-28 17:45:04 · 6116 阅读 · 0 评论 -
并发设计演进和在多语言设计模式里的思路特性
文章目录CSP简述CSP form wiki并发问题并发方案并发实现之-actor模型并发实现之-Goroutineactor模型与goroutine对照Goroutine实现实现简述Goroutine调度机制Goroutine优缺点实操ChannelGolang syncContextRace题外话Rust非均匀内存访问调度器(Non-uniform memory access,NUMA架构)CSP简述CSP form wikiCommunicating sequential processes翻原创 2022-04-27 14:48:19 · 7834 阅读 · 0 评论