基础设施是 N 个应用程序,它们连接到位于 Amazon RDS 上的 Postgresql 数据库的主从复制模式。我使用 Route53 AWS 中的私有区域进行旋转加权 DNS,在其中我将连接定向到主服务器或从服务器以实现负载平衡。
但我想要的是通过使用 CPU 使用率作为负载平衡权重来更细粒度地控制连接。我想要将应用程序的数据库查询引导至 CPU 使用率最低的数据库。
我找到了一些解决方案:
- https://www.pgbouncer.org/
- https://github.com/awslabs/pgbouncer-rr-patch
- https://severalnines.com/blog/postgresql-load-balancing-proxysql-enhancements-clustercontrol-15/
- 哈普罗西
但我不知道哪一个最合适。我想要的是使用 CPU 使用率作为权重,其中 CPU 使用率最低的优先级更高。