技术博客

excelize

Excel读和写的golang库 下载依赖 go get github.com/xuri/excelize/v2 新建表格 package main import ( "fmt" "github.com/xuri/excelize/v2" ) func main() { f := exc

Administrator 发布于 2025-09-05

高性能JSON库sonic

比GO自带的encoding/json性能要高 引入依赖 go get github.com/bytedance/sonic 使用 package main import ( "fmt" "reflect" "github.com/bytedance/sonic" ) type Test

Administrator 发布于 2025-09-05

gin+swagger

为API提供可交互的文档页面 安装程序和安装依赖 go get -u github.com/swaggo/swag/cmd/swag go install github.com/swaggo/swag/cmd/swag go get -u github.com/swaggo/gin-swagger

Administrator 发布于 2025-09-04

2FA-TOTP接入

2FA为two Factor-Authentication,双因素验证,也就是账户的二级密码。常见的就是TOTP(Time-Based One-Time Password algorithm)基于时间的一次性密码 还有基于计数的一次性密码HOTP(HMAC-Based One-Time Passwo

Administrator 发布于 2025-08-20

MySQL多主多从(GR集群)配置-Ubuntu云服务器

MySQL版本: 8.0.43 操作系统: Ubuntu24.04 城市: 广州(第一台),南京(第二台、第三台) Ubuntu安装MySQL sudo apt update sudo apt install mysql-server mysql --version sudo systemctl

Administrator 发布于 2025-08-18

consul集群+分布式锁

操作系统: Ubuntu 24.04 LTS / CentOS 9 Consul版本: 1.24.1 ssh客户端: termius 9.28.0 (Ubuntu)安装软件-apt https://developer.hashicorp.com/consul/install找到对应系统的安装命令 s

Administrator 发布于 2025-08-17

MySQL多主多从(GR集群)配置-Docker

MySQL版本:8.0.x(本次测试版本8.0.43) 库表:表必须为InnoDB,必须有主键 最少三个主节点组成GR集群,开启多主(Multi-Primary),每个节点都可以读和写。 每个主节点下可挂多个从节点,做备份和读扩展。(可选) 本文的三个节点在DOCKER的同一个网关下,在局域网内。

Administrator 发布于 2025-08-15

Linux服务器实现GTID主从复制(一主一从)

服务器: TencentOS Server 4 x86_64(CentOS 8)(RHEL,Red Hat Enterprise Linux) MySQL版本: 8.0.43 SSH客户端: termcc 二台服务器,主节点在南京,从节点在新加坡 安装软件 sudo dnf install phpm

Administrator 发布于 2025-08-13

sync中的Cond、Once、Map

Cond 使协程进入阻塞状态,等待其它线程完成某件事后,使协程继续工作 var mu sync.Mutex cond := sync.NewCond(&mu) //传入的是Locker接口,也就是不限定必须是Mutex,实现了Lock和Unlock就可以 sharedResource := 0

Administrator 发布于 2025-08-12

golang中gorm的读写分离

gorm是golang的orm框架。 读写分离的前提是数据库实现了主从复制,依赖相关文档:https://gorm.io/docs/dbresolver.html 安装依赖 go get gorm.io/driver/mysql #MYSQL驱动 go get gorm.io/gorm #GORM框

Administrator 发布于 2025-08-12