2010-01-14 127 views
2

亚马逊的API要求您有一个签名,这是许多元素的组合,一个是秘密。服务器通过将参数中传递的API密钥与其存储在数据库中的密钥进行匹配来检查此签名。在服务器上存储开发人员API密钥/秘密

我的问题是,亚马逊如何匹配API密钥和秘密,每次重载数据库时都不会执行查询。也不会缓存API密钥,并导致数百万开发人员导致内存不足的结果?

或者因为它只有30个字符,所以30个字节?它只需要286 meg的公羊?

那么如果我使用Memcached来存储这些键和值对呢?假设我有1GB的memcached分配,搜索速度有多快,以验证密钥/值

回答

3

亚马逊几乎肯定有一个非常优化的手段来存储和检索秘密。他们没有在MySQL数据库中查找它。解决这个问题真的不是那么大的架构挑战。

我猜想有一个分布式hastable,其大部分缓存在RAM中。他们有很多内存。