在流量高峰期间查询远程Web API与本地MySQL数据库?

Mic*_*lle 5 mysql web-services

我们在我们的主页上实现了一些代码,这些代码依赖于每个独特命令的geoip查找,我们可以选择查询geoip Web服务(Maxmind)或下载数据库并在本地查询.该服务器目前是一个512MB的Linode实例,每天只接收大约1500个唯一身份用户,但我们担心在流量高峰期间会发生什么.

我很清楚,本地查找会更快,但是在加载数据库时肯定会比处理额外的http请求更多ram/CPU密集.显然,如果升级去当地是最好的route.I可以想象超过一定每秒连接数,服务器会更有可能成为无法查询其本地数据库比一个Web API服务器内存是很容易实现(假设,当然web api服务器可以处理http请求).

任何关于哪种解决方案将是最强大的长期解决方案来处理偶尔的交通泛滥而不拒绝服务的任何输入将非常感激.

编辑:只是尝试进一步量化这一点,让我们说服务器需要能够处理每秒最多200个连接.每个连接都需要单个数据库查询或http请求.

dan*_*n b 1

鉴于每秒 200 次点击,您肯定希望使用本地数据库。我怀疑提供此类服务的任何第三方网站都希望处理那么多请求,但即使他们这样做,也可能会比本地数据库访问慢得多。

您当然希望显着增加本地服务器上的内存。请记住,如今内存非常便宜。例如,大约 1 1/2 年前,我构建了一个具有 32 GB RAM 和最新 CPU 的 Linux 机器,价格不到 1000 美元。

每秒 200 次点击可能需要集群数据库和多台服务器。您可能还需要考虑为此使用键值存储,它每秒可以处理潜在的数千次点击。