微博的关注 和行为的消息推送 是怎么设计的呢?iteye的消息中心是怎么设计的呢 在表里?
消息中心是我做的,说一下,其实就是最简单的 ajax 轮询和 mysql 里面一张表。
实现实在太简单了,不知如何说起,表的设计就是一个词:多态关联。
notifications(user_id, type, item_type, item_id, data)
data 是个序列化字段用来放置额外的数据。
建好 Model 就在一些别的 Model 的 after_create 里面加上创建消息的方法就行了。
要注意的就是 ajax 轮询产生大量的 http 请求,所以压力很大,后来加了一台服务器。至于更炫的比如即时推送等功能在设想,不过不是当前必须。
以前还总结过一些文章,可以参考下:
用 mongodb 储存多态消息/提醒类数据
[url]http://codecampo.com/topics/66[/url]
关于如何构建一个微博型广播
[url]http://codecampo.com/topics/61[/url]
关于如何构建一个微博型广播 二
[url]http://codecampo.com/topics/196[/url]