我正在制作涉及用户和新闻Feed的社交应用程序。为了按时间顺序显示用户的新闻Feed,以下哪项更有意义?
答案 0 :(得分:0)
通常,社交网站是使用图形数据库构建的。我曾经在一个社交网站上工作过。下面是显示新闻源的技术堆栈和逻辑。
Java,Spring MVC
OrientDb-包含与Edges连接的Vertex的GraphDB
JQuery&用于UI的Bootstrap
Apache Solr-用于文本搜索用户,文章
以下是newsFeeds的逻辑:
当任何用户进行任何活动时,我们都会创建包含Activity的顶点 活动的元数据,如dateTime,活动类型和演员等。
我们有一个批处理程序(每3分钟后运行一次)将对所有未处理的活动进行处理。批量的责任是从Activity生成newsFeeds,并将这些 newFeeds_To_Be_Displayed 分配给相关用户(即演员的连接)要在屏幕上显示的新闻Feed 。
当用户登录时,我们用于查询给定用户的newFeeds_To_Be_Displayed并在屏幕上显示。
我们选择异步计算 newFeeds_To_Be_Displayed ,因为这是一个耗时的过程,我们希望最终导致糟糕的用户体验。