对于我们在 Amazon EC2 实例上设置的应用程序,我们使用 MySQL 数据库,安装在 2 个 EC2 实例上,处于主-主复制模式。为了对这些数据库服务器进行负载平衡,我使用了部署在另一个 EC2 实例上的 HAProxy,并进行了配置
listen mysql <public dns of haproxy>:<port>
mode tcp
balance roundrobin
server mysql-db-s1 <elastic ip of db server1>:<port> maxconn 2000
server mysql-db-s2 <elastic ip of db server2>:<port> maxconn 2000
所有三个实例都分配了弹性 ip,我使用 haproxy 的公共 dns 从我的应用程序连接。但有时我会收到错误
`com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: C
ommunications link failure The last packet successfully received from the server was 58,085 milliseconds ago.
The last packet sent successfully to the server was 0 milliseconds ago.`
这与我在这里给出的配置有什么关系吗?使用弹性 ip 而不是公共 DNS 更好吗?