随笔分类 -  GO

摘要:布隆过滤器 布隆过滤器(英语:Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。元素可以添加到集合中,但不能删除(计数布鲁姆过滤器变体支持删除); 作用 布隆过滤器可以用于判断一个元素可能存在或者一定不存在。 参考文章 Bloom filter 阅读全文
posted @ 2022-11-13 00:34 平凡键客 阅读(117) 评论(0) 推荐(0) 编辑
摘要:生产者 sarama 库提供了同步生产者和异步生产者。 SyncProducer SyncProducer 是在 AsyncProducer 基础上加以条件限制实现的。 type SyncProducer interface { // SendMessage produces a given mes 阅读全文
posted @ 2022-07-02 17:10 平凡键客 阅读(2909) 评论(0) 推荐(0) 编辑
摘要:从error的定义说起 type error interface { Error() string } Go 的error类型是一个接口。在Go中,只要实现了接口约定的方法,就等同于实现了这个接口。在日常的业务代码编写中,我们经常使用 errors 包下的New 方法来生成一个error对象。 fu 阅读全文
posted @ 2022-07-02 17:03 平凡键客 阅读(809) 评论(0) 推荐(0) 编辑
摘要:限流 通过限制并发访问数或者限制一个时间窗口内允许处理的请求数量来保护系统,例如,通过限流,你可以过滤掉产生流量峰值的客户和服务。 令牌桶算法 令牌桶算法是常见的一种限流算法。假设有一个桶,以固定速度(rate)往桶里加入令牌(token)。当桶满了时停止加入。服务收到请求时尝试从桶里取出令牌。如果 阅读全文
posted @ 2022-07-02 17:02 平凡键客 阅读(234) 评论(0) 推荐(0) 编辑
摘要:并发与并行 并发和并行是有区别的,并发不等于并行。 并发 两个或多个事件在同一时间不同时间间隔发生。对应在Go中,就是指多个 goroutine 在单个CPU上的交替运行。 并行 两个或者多个事件在同一时刻发生。对应在Go中,就是指多个 goroutine 在多个CPU上同时运行。 goroutin 阅读全文
posted @ 2022-07-02 16:57 平凡键客 阅读(486) 评论(0) 推荐(0) 编辑
摘要:Go语言常见的并发模式 并发不是并行 并发关注的是程序的设计层面,并发的程序也可以顺序执行,在多核CPU上才可能真正同时的运行,并行关注的是程序的运行层面,如GPU中对图像处理都会有大量的并行运算。 Go语言将其并发编程哲学Slogan:不要通过共享内存来通信,而应通过通信来共享内存。 sync.M 阅读全文
posted @ 2021-09-02 21:57 平凡键客 阅读(160) 评论(0) 推荐(0) 编辑
摘要:Goroutines CSP communicating sequential processes Go 语言中,每一个并发执行单元叫做一个goroutine,语法上仅需要在一个普通函数或方法调用前加上关键字go。 f() //正常调用 go f() //开启一个goroutine Channel 阅读全文
posted @ 2021-09-02 19:49 平凡键客 阅读(94) 评论(0) 推荐(0) 编辑
摘要:接口 Go 语言的接口遵守LSP(里氏替换原则),即 一个类型可以自由地被另一个满足相同接口的类型替换。 接口类型 接口类型具体描述了一系列方法的集合,一个实现了这些方法的具体类型是这个接口类型的实例 io.Writer类型是用得最广泛的接口之一,因为它提供了所有类型的写入bytes的抽象,包括文件 阅读全文
posted @ 2021-09-01 21:22 平凡键客 阅读(804) 评论(0) 推荐(0) 编辑
摘要:Protobuf 介绍 Protocol Buffers(又名 protobuf)是 Google 的语言中立、平台中立、可扩展的结构化数据序列化机制。 https://github.com/protocolbuffers/protobuf 简而言之,Protobuf 是 Google 开源的一款用 阅读全文
posted @ 2021-08-01 11:34 平凡键客 阅读(1142) 评论(0) 推荐(0) 编辑
摘要:1.下载安装Golang https://golang.google.cn/dl/ 一路下一步即可 2.下载安装Vscode https://visualstudio.microsoft.com/zh-hans/ 3.检查Golang是否安装成功 4.设置Golang 环境变量 go env -w 阅读全文
posted @ 2021-03-08 23:41 平凡键客 阅读(1381) 评论(2) 推荐(1) 编辑

点击右上角即可分享
微信分享提示
主题色彩