【发布时间】:2012-06-30 04:14:52
【问题描述】:
我想创建一个队列,客户端可以在其中放入请求,然后服务器工作线程可以将它们拉出,因为它们有可用的资源。
我正在探索如何使用 Firebase 存储库,而不是使用外部队列服务,然后必须将数据注入 Firebase。
考虑到安全和验证工具,下面是一个简单的例子来说明我的想法:
- 用户将请求推送到“队列”存储桶中
- 服务器拉出请求并将其删除(如何确保只有一台服务器收到请求?)
- 服务器验证数据并从私有存储桶中检索(或注入新数据)
- 服务器将数据和/或错误推送回用户的存储桶
身份验证可能有用的一个简化示例:
- 用户将身份验证请求放入公共队列
- 他的登录名/密码进入他的私人存储桶(只有他可以读/写的地方)
- 服务器获取身份验证请求,检索登录名/密码,并针对只有服务器可以访问的私有存储桶进行验证
- 服务器将令牌推送到用户的私有存储桶中
(当然,公共队列中还存在一些安全漏洞;我现在只是在探索)
其他一些用法示例:
- 只读状态队列(用户状态通过私有存储桶传递,服务器将其写入公共存储桶,该存储桶对公众只读)
- 消息队列(消息通过用户发送,服务器决定将它们放入哪些讨论桶)
所以问题是:
- 这是一个很好的设计,可以很好地集成到即将推出的安全计划中吗?正在探索哪些替代方法?
- 如何让所有服务器监听队列,但每个请求只有一个接收?
【问题讨论】:
标签: firebase