在 Go 语言中管理 Concurrency 的三种方式

Channel + Select:Channel 只能用在比较单纯的 Goroutine 情况下,如果要管理多个 Goroutine,建议还是 走 context 会比较适合。

为什么你们不喜欢使用switch,而是大量的 if…else if?

为什么你们不喜欢使用switch,而是大量的 if…else if?

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.当你有一些运行很慢的测试时,等待所有测试完成会变得很烦人,特别是当你想立刻知道编译是否成功时。

学习Golang第10天 – 把函数作为接口来调用

// 调用器接口。// 需要实现一个Call方法。// 使用接口调用FuncCaller.Call,内部会调用函数本体。

高并发系统的限流策略:漏桶和令牌桶(附源码剖析)

前言今天与大家聊一聊高并发系统中的限流技术,限流又称为流量控制,是指限制到达系统的并发请求数,当达到限制条件则可以拒绝请求,可以起到保护下游服务,防止服务过载等作用。

「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的类型。

重温一下ZooKeeper关键点,虽然我不是很喜欢它

Etcd 和 Consul 作为后起之秀,在功能和性能方面要优于 ZooKeeper,它们都是 CP 的系统,使用上区别不大。

网站地图