我一直在寻找有关Facebook架构的文章/信息,他们应对的挑战和方式.他们使用什么以及他们使用的原因.他们如何扩展以及他们做什么的设计决策等等.主要是学习的基础.了解处理如此大量流量的网站可以为建筑师提供大量指示,以便在设计新网站时牢记某些内容.我正在分享我发现的东西.
由于此网站的限制,我还有2个链接但无法发布.此外,请分享是否有任何更好的东西(不需要只与Facebook相关).
PS -我无法找到分享这项研究的好地方,因此这一举措.希望这有助于某人.
基本上,我想创建一个像Facebook和Stackoverflow的通知.具体来说,在帖子评论系统中,当帖子得到评论时,所涉及的每个人(创建帖子的人和创建评论的人,除了新的评论者)都会收到一条通知消息,说明此帖子已被评论.当人们阅读通知时,通知就会被驳回.
我曾尝试使用mailboxer gem来实现它,但遗憾的是没有使用其相关方法的可用示例,包括social_stream本身.
还有其他方法来创建通知系统吗?
当我尝试从头开始创建它时,我遇到了几个问题:
Model Notification
topic_id: integer
user_id: integer
checked: boolean #so we can tell whether the notification is read or not
Run Code Online (Sandbox Code Playgroud)
我认为我们只需要在用户访问通知索引后将每个通知消息的"已检查"属性设置为true.(在NotificationsController中)
def index
@notifications=current_user.notication.all
@notification.each do |notification|
notification.checked = true
end
@notification.save!
end
Run Code Online (Sandbox Code Playgroud)
2.选择要通知的用户(并排除用户发表新评论)
我只是不知道如何查询......
3.创建通知
我认为这应该是这样的
#in CommentController
def create
#after creating comments, creat notifications
@users.each do |user|
Notification.create(topic_id:@topic, user_id: user.id)
end
end
Run Code Online (Sandbox Code Playgroud)
但我认为这真的很难看
没有必要解决上面的3个问题,任何简单的通知系统解决方案都是可取的,谢谢......
我想在我的应用程序上实现类似twitter的hashtag.
假设我有一个文本区域的用户输入"我要从#paris转到#london"然后我想构建标签云的标签云.
我正在考虑使用act-as-taggable-on.所以我从后端的文本中找到了所有的hashtags,然后将其保存到tag字段.
任何人都有这方面的经验,他们想分享?谢谢.