欢迎来到 常识词典网 , 一个专业的常识知识学习网站!

[ Ctrl + D 键 ]收藏本站

您所在的位置:首页 > 教育学习 > 百科

百科

如何架构基于 Ruby on Rails 网站的实时消息系统?

分类: 百科 常识词典 编辑 : 常识 发布 : 09-30

阅读 :317

如何架构基于 Ruby on Rails 网站的实时消息系统?一个小型的社交网站,比如像z-i-u那样的,用ruby on rails和mongodb做主要业务逻辑,有几个功能不知道是怎么实现的,希望能给出具体的产品名称,拿来就能用最好了:1、推送通知(pus-notification)到前台网页上,比如被人关注、话题或者问题更新、添加了回答、-、修改等等。2、给其他用户发消息(message),或者群聊(group c-at),记录能保存到mongodb里面。3、首页动态-新(timeline feed)4、支持实时全文搜索(lucene/solr),图片/-后台队列处理(queue)5、不仅是-tml5,还要支持ios、android原生客户端开发6、最好是分布式、并发的,利用多核cpu的计算能力,以后网站做大了,直接堆服务器,架构不用改。6 个答案

答案 1:

1 实时信息通知可以用轮询或者 Long HTTP Connection 的方式,具体查google2 message 和 group 放在mongodb 可以,比如说一个群聊放到一个 mongodb 的 document 里面,一个message 会话也可以放在一个 document 里面,但是要设计好你的数据结构,一个document最大4M。 nosql 虽然方便,但是后期s-arding 也很费事3 首页动态-新,这个参考1. 从服务器返回数据后,动态插入就可以4 实时全文搜索,但假设你用 mongodb,在一定量级上可以直接用mongodb 查询,另外对于过期数据可以做归档。以知乎现在的数据量来说,实时搜索也用不到lucene/solr。后台任务队列可以用redis。我原来尝试过用mongodb 来架构一个实时队列,支撑过一段时间,后来爆掉了。5 支持-tml5,移动设备。 这个不关架构的事情,只要判断浏览器请求头,对不同设备提供不同的 css,或者是渲染不同的页面。如果要是给客户端提供API的话,统一用json就行,Rails 支持不同请求类型返回不同数据结构。6 没有可以拿来就用的架构,要根据自己的业务结构,从简单开始,逐步演进。

答案 2:

这事“小型的社交网站”吗无论什么消息,都是,消息产生—— > 筛选过滤—— > 存入数据库或cac-e—— > 前台推送1,2,3,都是一样的原理,网页上用AJAX就可以动态-新了,IOS,ANDROID也是同理,定时取数据就OK了全文搜索就是数据库的事情了,最好还是提取关键字搜索,像知乎这种这么多信息,全文搜索可不容易,-和图片多分几个服务器就好了,带宽是王道,这玩意可吃钱了,你看知呼几乎没多少图片至于分布式架构,那更是因地制宜的事情了,什么网站怎么分布完全不一样,最主要的是,网站做大了,不可能不改变,那是不可能的,除非你出发点就是架构一个庞大的巨无霸

答案 3:

我觉得你需要的不是一些具体的产品,而是需要一个团队?? 你说的这些事情都不是一两个人能搞定的。特别是第 6 点,现在估计只有 Google 能做到。

答案 4:

你一下问了这么多谁有时间答阿

答案 5:

你的这么多问题,可以转换成如何用Ruby on Rails实现一个Twitter,Yammer或者新浪微博这样级别的应用,不如你把问题拆分一下,一个一个的问吧。

答案 6:

建议去z-eye.org 问,知乎有耐心的用户较少。者也上的相关回答z-eye.org/asks...

下一篇:话剧《窝头会馆》在国庆期间开演,怎么样?推荐这部吗? 下一篇 【方向键 ( → )下一篇】

上一篇:-最地道的羊肉串在哪里? 上一篇 【方向键 ( ← )上一篇】