基于nginx的TCP Proxy实现数据库读写分离 - Go语言中文社区

基于nginx的TCP Proxy实现数据库读写分离


nginx很早就支持tcp proxy,但是一直不知道其使用,最近在nginx blog上看见了,一些实践者将其运用到数据库访问的负载均衡以及实现读写分离,来提高数据库的吞吐量,这里我不会讲具体的搭建实现,只是最一些理论上的设计猜想。

直接上图
这里写图片描述

db集群,分为读db和写db,写db向读db同步数据。读db只能读,写db只能写,图中读写各一个,只是一个例子,实际需要根据业务来配置读写服务器比例。

nginx tcp proxy实现读写分离,提供只读的端口和只写的端口。

db connection pool维护两个数据库连接池,一个读一个写,但是对于使用db connection pool的service来说,他们可以直接读写。db connection pool需要实现读写操作分离。

这个系统的一些瓶颈:
db connection pool需要维护的tcp 连接过多。

db connection pool与nginx tcp proxy的连接限制。

数据同步不及时,导致数据一致,比如我一写就读,还没同步。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zhx6044/article/details/50749137
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-13 12:25:38
  • 阅读 ( 1305 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢