说,我创建了一个产品(一种移动应用程序),可以为很多客户提供服务。最初,我没有考虑数据合规性问题,而是将所有数据存储在一台服务器上。现在,这些客户端希望数据合规,以便将其数据存储在不同的服务器上。隔离这些数据并将其写入到不同服务器中而对应用程序进行最小更改的最佳方法是什么,以使我与我的客户兼容并且也不会产生很多费用?
可以在这里使用代理/负载均衡器吗?
我们可以假定我们在每个CRUD操作中都获得了Client ID,我们可以基于该ID在代理上编写一些规则以将流量转移到为该Client指定的数据库服务器。这意味着在对数据库执行CRUD操作之前,代理将必须解析传入的语句并将其相应地路由。
基本上,如果我有3个ID为1、2和3的客户端,我希望数据库操作被路由到客户端1的数据库A,客户端2的数据库B和客户端3的数据库C。
我认为可以使用HAProxy,nginx,ProxySQL等来完成此类工作,但不太确定是否可行。
这是否是可行的大规模选择?如果没有,那么在应用程序中更改最少的其他选项是什么。
编辑:数据库A,数据库B和数据库C的架构完全相同。