Cond 使协程进入阻塞状态,等待其它线程完成某件事后,使协程继续工作 var mu sync.Mutex cond := sync.NewCond(&mu) //传入的是Locker接口,也就是不限定必须是Mutex,实现了Lock和Unlock就可以 sharedResource := 0
gorm是golang的orm框架。 读写分离的前提是数据库实现了主从复制,依赖相关文档:https://gorm.io/docs/dbresolver.html 安装依赖 go get gorm.io/driver/mysql #MYSQL驱动 go get gorm.io/gorm #GORM框
削峰(peak shaving、traffic smoothing)手段之一 golang 限制API或功能的访问频率,username也不一定是用户名,可以是IP或其它标识 package main import ( "golang.org/x/time/rate" "time" ) va
引入依赖 go get github.com/gin-contrib/sessions 注入 var router = gin.Default() store := cookie.NewStore([]byte("password")) //将存储的数据加密后保存在用户的浏览器,这是加密的密钥 st
情况总结 情况A:全部请求都是403 情况B:程序刚运行的开头几次请求是403,然后大部分是正常(穿插一些403) 情况C:全部正常 前言 昨天遇到一个问题,用Go写的程序访问HTTPS,在请求头、COOKIES都是正确的情况下,返回403代码。于是开始研究TLS(SSL的版本)、证书、加密套件、密
protobuf(protocol buffer)是google开发的数据序列化协议,特点有高效、轻量级、用来在不同的系统之间交换结构化数据,尤其适合网络通信和存储。pb序列化后是紧凑的二进制格式 gRPC是由google开发的高效远程调用框架。 以下用golang来写gRPC服务 安装pb编绎器
MQTT是一种基本发布/订阅形式的消息协议 本次用的锁控板是控制快递柜的锁,共16路,需要插一张电话卡提供流量,用商家提供的工具将锁控板连接的服务器IP改成了自己搭建的MQTT,用GOLANG做后端控制开锁。 下载&安装应用:下载链接 1.将安装目录下的pwfile.example修改为pwfile