2014-05-08 22:42
原题:
How would you split a search query across multiple machines?
题目:如何把一个搜索query分发到多个机器上?
解法:又是“Guy”出的题目。对query字符串算取数字签名,然后对集群的机器数量取模,就可以得到对应落在的机器了。
代码:
1 // http://www.careercup.com/question?id=5377673471721472 2 // Answer: 3 // The genenral practice of splitting queries across multiple machine, would require two parts: 4 // 1. convert the query to a digital sign, possibly an integer. 5 // 2. modulo it by the number of machines in a cluster, this process may be multi-layered. 6 // Other scheduling strategies may affect the result of splitting, but I think modulo will be a simple and balanced way to split the queries. 7 int main() 8 { 9 return 0; 10 }