我有 2 个节点,一个网关和一个工作节点。
数据必须从网关传递到工作者(无需直接连接)。
我想将一个密钥存储到用 ID 标识且生存时间为 30 秒的数据库中。
该协议非常简单:
- Gateway stores (Id, Key) to the database with a 30s TTL
- Worker will fetch (if needed) the key with the Id it has in it's possession and remove it directly
- If The key is not needed within 30 sec. it is deleted by the database (90% of the keys should be retrieved)
插入、检索和删除必须非常快,并且每秒可以轻松处理 30,000 左右的数据。(当然,使用退出配置)
数据不必是永久的,如果出现问题,我就不会关心数据。
如果 TTL 确实删除了该行就好了,因为如果不删除,它可能会变得非常大。
Id 和 Key 是简单的字符串。
你会推荐哪个系统?我知道我在网关和工作器上都使用 Erlang
我并不是在寻找像 RabbitMQ 这样的消息传递系统,因为如果不检索其他密钥,似乎不可能获取特定的密钥。
答案1
我可以建议使用Memcached。它的优点在于它太笨了,你不需要关心如何配置它。