在 Go 语言中管理 Concurrency 的三种方式
Channel + Select:Channel 只能用在比较单纯的 Goroutine 情况下,如果要管理多个 Goroutine,建议还是 走 context 会比较适合。
Go1.13.3 和 Go1.12.12 小版本发布
北京时间 2019 年 10 月 18 日凌晨 2 点 49,Go team 宣布发布 Go1.13.2 和 Go1.12.11,Release Note 如下:我们刚刚发布了 Go 1.13.2 和 Go 1.12.11,以解决最近报告的安全问题。
Go语言高级窍门与技巧,看完你也能写出高质量代码
Ben Johnson’s tip. Using *_test package doesn’t allow you to enter unexported identifiers. This puts you into position of a package’s user, allowing you to check whether package’s public API is useful.当你有一些运行很慢的测试时,等待所有测试完成会变得很烦人,特别是当你想立刻知道编译是否成功时。
高并发系统的限流策略:漏桶和令牌桶(附源码剖析)
前言今天与大家聊一聊高并发系统中的限流技术,限流又称为流量控制,是指限制到达系统的并发请求数,当达到限制条件则可以拒绝请求,可以起到保护下游服务,防止服务过载等作用。
「OpenYurt 深度解析」边缘网关缓存能力的优雅实现
阿里云边缘容器服务上线 1 年后,正式开源了云原生边缘计算解决方案 OpenYurt,跟其他开源的容器化边缘计算方案不同的地方在于:OpenYurt 秉持 Extending your native Kubernetes to edge 的理念,对 Kubernetes 系统零修改,并提供一键式转换原生 Kubernetes 为 OpenYurt,让原生 K8s 集群具备边缘集群能力。
使用Go基于WebSocket构建千万级视频直播弹幕系统
开门见山,假设一个直播间同时500W人在线,那么1秒钟1000条弹幕,那么弹幕系统的推送频率就是:500W * 1000条/秒=50亿条/秒,想想B站2019跨年晚会那次弹幕系统得是多么的NB,况且一个大型网站不可能只有一个直播间!
Go学习每日一问(4)-var
Go中对于声明变量时需要进行初始化的场景,var关键字可以保留,但不再是必要的元素,如下所示:var v1 int =0 // 使用方式1。var v2 = 0 // 使用方式2,编译器可以自动推导出v2的类型。