我希望创建一个通知系统,以便在有人注册我的网站时发出通知。我想要的通知系统类型类似于 stackoverflow 或 Facebook。我希望显示一个数字类型通知,显示我有多少个新注册,但是一旦我单击查看通知(新注册),我希望通知警报(如红色方 block stackoverflow 那样)消失。
我用 PHP 编写此内容,并有一个名为 users 的数据库表,我可以从中提取用户。我只是不确定如何在不选择所有用户给我数量的情况下收到这样的通知?
假设我有 20 个用户和 2 个新用户刚刚注册。我希望显示一个带有数字 2 的通知。然后当我单击它时,该通知就会消失。
我怎样才能做到这一点?
最佳答案
我正在设计这样的系统。
我这样做的方法是将应用程序写入消息队列/消息代理的结构化事件日志。
然后,我有一个消息使用者,它可以读取事件并更新我想要从系统中获取的任何指标。
在这种情况下,您需要一个消息使用者来决定哪些用户应该接收哪些消息(有些消息可以发送给所有人,有些消息只能发送给特定的人)。
每个用户都必须轮询提供这些消息的 API,或者打开 Websocket 以流形式接收数据(这样更快)。
我会在消息使用者和 API 之间放置一个中间存储。为此,我会推荐一些轻量且快速的东西,例如 Redis。
需要设置大量基础设施,还有其他快速但肮脏的解决方案,但在我看来,这是相当小的。
关于javascript - 用户注册时获取实时通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31140744/