负载平衡 – 多个位置

目前,我们在一个位置拥有MySQL主/从configuration – 每个客户都有独立的数据库,数量正在快速增长。 我打算在不同的位置创build另一对数据库服务器,并使用某种负载平衡,如DNS循环(DynDNS)。

我不确定这是否会实际工作,因为将有一对Web服务器指向特定的数据库服务器:

  1. Web服务器A =>主数据库服务器A =>从数据库服务器A
  2. Web服务器B =>主数据库服务器B =>从数据库服务器B

“群集”A和B之间不会有任何复制,所以如果DynDNS将客户端的请求指向Web服务器A,但数据库将在“群集”B上,这将无法正常工作?

我想问一些build议,在这种情况下最好的解决scheme是什么。 如何configuration它,以便将来可以水平调整它?

有一个支持集群的MySQL版本,而不仅仅是主/从复制。 这可能会更适合您的要求。

MySQL集群是一个写可扩展的实时ACID兼容交易数据库,旨在提供99.999%的可用性。 采用分布式多主机架构,无单点故障,MySQL Cluster通过自动分片(分区)在商品硬件上进行水平扩展,从而为通过SQL和NoSQL接口访问的读写密集型工作负载提供服务。

Mysql集群将是我的select,它将使您能够横向和单独地增长您的存储和计算能力: http ://dev.mysql.com/doc/index-cluster.html您还可以使用haproxy或ldirectord进行故障转移。 这篇文章可以参考: http : //flavio.tordini.org/a-more-stable-mysql-with-haproxy

还有一个关于用户会话的问题。 如果我使用DNS负载平衡,并且客户端将在网站上插入一些数据,如果他/她将点击刷新button并且DNSlogging将改变将会发生什么? 这是否会工作,或者我需要更好的负载平衡如Haproxy或Nginx的使用?

问候