2012-09-25 54 views
2

我将很快启动我的Android应用程序,我想知道是否有人可以给我一个关于如何管理它正在使用的数据库的提示。这里的情况:MqSQL数据库管理

我有一个Android应用程序,连接到存储在亚马逊EC2中的HTTPS服务器。我已经设置了一个负载平衡器,负载平衡器负责在两个实例之间分配负载,所以本质上应用程序连接到平衡器。问题是这两个实例有它们自己的数据库副本,并没有以任何方式进行同步。我基本上都希望两台服务器都能处理来自数据库的READ请求,并且无论哪个人收到一个WRITE,都要写入所有其他实例。我不确定这是否是最好的解决方案,所以如果任何人有更好的解决方案,我愿意接受建议。

现在我知道关于复制,我已经检查了该主题上的主题stackoverflow,但不幸的是找不到任何可能的帮助。这个想法是不是有一个单一的失败点:)顺便说一句,我使用mysql作为数据库与JDBC驱动程序的Java和服务器是用Java编写的。

谢谢:)

回答

1

我不会在乎你的应用程序到达插入或读取的数据库。

我建议使用复制设置(master < - > master replication有一些缺点,像PK违反很容易发生),如galera cluster

如果一个数据库可以处理每个写入负载,我会去做一个简单的master-> slave复制。 (一直写入主设备,主设备将该数据写入所有用于读取的从设备)