我在客户端上运行的应用程序使用在服务器上运行的 MySQL 数据库。因此,多个客户端连接到同一台服务器。当服务器在线时效果很好。但现在我想增强我的应用程序,使其能够在离线模式下运行。
+--------------+
| |
+-----------+ SERVER +----------+
| | | |
| +-------+------+ |
| | |
+------+-------+ +-------+------+ +-------+------+
| | | | | |
| Client 1 | | Client 2 | | Client X |
| | | | | |
+--------------+ +--------------+ +--------------+
现在问题来了:当客户端离线时会发生什么?我也需要每个客户端上的 MySQL 数据库副本。默认情况下,应用程序与服务器上的 MySQL 交互。如果无法访问此服务器(出于什么原因:服务器离线或客户端没有互联网连接),它应该使用在客户端上运行的 MySQL。如果客户端/服务器连接再次可用,则需要自动同步数据库。
我现在的问题是:如何实现这一目标?首先,我检查了 MySQL 复制,但在我的场景中,我有多个“master”和未知数量的客户端。所以我担心复制不是我的解决方案。MaxScale可以解决我的问题吗?我从来没有使用过,所以我非常感谢任何帮助。