golang
小无相功+
逍遥掌门,武学修为极高
展开
-
Go生产消费模式的实现
1、通道实现 import ( "fmt" "math/rand" "time" ) type Info interface { NewInfo(size int) chan interface{} SendInfo(ch chan<- interface{}) GetInfo(ch <-chan interface{}) } type MQ struct {} func NewMQ() *MQ { return &MQ{} } func (m *MQ)NewI原创 2020-10-28 11:25:38 · 179 阅读 · 0 评论 -
go协程池设计优化
前些时间因项目需求,需使用协程池处理事件,所以在网上看好很多相关文章,做了总结,然后根据业务需求做了进一步的优化。项目部署在生产环境中运行了很长时间,协程池处理事务比较稳定,目前还没有出现问题。所以分享给同行,能够相互学习。咋们就不多说,已代码为主。需要优化的可以多提提意见。 一、协程管理 package goroutine_pool import ( "r...原创 2020-07-27 11:41:01 · 380 阅读 · 0 评论 -
单主机业务限流实现
实现背景: 最近在实现一个服务,给外部企业提供接口,为了防止频繁访问导致资源占用问题。要对API接口限流,所以封装一个业务接口限流的功能。 以下是源码,GOLANG做了一个比较简单的功能实现,非一线互联网公司使用基本满足需求。仅做交流学习,希望对老铁们有所帮助。 import ( "sync/atomic" "time" "github.com/gpmgo/...原创 2020-07-27 11:34:44 · 272 阅读 · 0 评论