golang实现mysql代理读写分离示例代码
代码语言:golang
所属分类:其他
代码描述:golang实现mysql代理读写分离示例代码,后端mysql数据库集群是一主多从。
代码标签: golang mysql 代理 读写 分离 示例 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
package main
import (
"fmt"
"log"
"net"
"strings"
"sync"
"github.com/go-mysql-org/go-mysql/client"
"github.com/go-mysql-org/go-mysql/mysql"
"github.com/go-mysql-org/go-mysql/server"
)
const (
readHost = "127.0.0.1:3306" // 只读副本 MySQL 服务器地址
writeHost = "127.0.0.1:3306" // 主 MySQL 服务器地址
)
func main() {
// 启动代理服务器
l, err := net.Listen("tcp", "127.0.0.1:3307")
if err != nil {
log.Fatal(err)
}
defer l.Close()
log.Println("Proxy server is listening on 127.0.0.1:3307")
for {
conn, err := l.Accept()
if err != nil {
log.Println(err)
continue
}
go handleConnection(conn)
}
}
func handleConnection(conn net.Conn) {
// 确保连接在所有情况下都被关闭
defer conn.Close()
// 创建一个新的MySQL连.........完整代码请登录后点击上方下载按钮下载查看















网友评论0