查看官方文档没找到主从配置, 是不是需要自己实现该功能?
如果没有相关配置,有什么推荐的 mysql 包吗,orm 类的暂时不需要。
1
sardina 2022-12-10 12:05:25 +08:00
没 可以初始化两个 DB 实例,读写用不同的 DB 实例去操作
|
2
awanganddong OP 明白了
|
3
securityCoding 2022-12-10 12:06:52 +08:00 via Android
应该没有,云上都是 vip 自动做了,自建 db server 的吗?
|
4
awanganddong OP 现在 mysql 是 1 主 3 从,没有前置 vip,想自己来控制读写。
|
5
yuancoder 2022-12-10 12:30:05 +08:00
读写分离,其实就是根据 sql 来控制调用哪个 db 的连接,自己使用的话手动选择一下就行了。
|
6
EminemW 2022-12-10 12:30:26 +08:00
模仿这个改一下也行 https://github.com/go-gorm/dbresolver
|
7
q1angch0u 2022-12-10 12:58:08 +08:00 via iPhone
@securityCoding 想请教一下,vip 不是用于三层冗余度吗?为什么能实现 mysql 的读写分离呢?还是说这个地儿的 vip 指的是广义上的四七层负载呢?感谢。
|
8
dzdh 2022-12-10 13:02:13 +08:00
@q1angch0u
就是个 fake mysql 。实现了 mysql 的协议,可以用 mysql 客户端连上,可以解析出来 sql 。根据 sql 前五个字符来判断是 select 就走从库,insert/update/delete 就走主库。 当然就是简单这么一说啊,真正实现还要考虑事物、预处理、健康检查、虚拟表映射等等等等 比如 https://blog.csdn.net/weixin_39594296/article/details/113555158 这个。就是用 go 实现的是 mysql 服务器。可以用 php/go/python/java 等连接。 |
10
securityCoding 2022-12-10 21:01:44 +08:00 via Android
就是一个代理,分析你的 sql 再决定转发目标读写库
|
11
cdlnls 2022-12-10 22:37:00 +08:00
可以试试看 mycat 这样的中间件
|