我现在正在做一些网站架构选择的研究,研究对象是 LinkedIn 等社交网站。
这是在网上找到的 LinkedIn 的网站架构,我的研究主要针对其中 Profile Service 部分。从图中看到,这部分使用了单独的数据库来存储。
需要考虑到的功能包括:
1. 个人信息在好友之间的同步。一个用户对个人信息的修改必须被好友看到,即保持信息最新。
2. 个人多信息的多平台管理,包括 iOS、Android 和 Web 页面。
3. 管理好友列表,用户可以添加好友、删除好友、为好友分组、添加备注等。
4. iOS 和 Android 客户端的离线访问。App 中需要包含一部分数据,存放在 App 的内部数据库中,在离线时,用户的修改会先操作内部数据库,上线后内部数据库与服务器数据库需要同步。
5. 关系分析,包括寻找共同好友、绘制关系图等。
目前考虑到的的包括:
数据库:MySQL、MongoDB。
网站框架:Tomcat、Django、Tornado、Node.js。
我该如何选择?为什么?
补充:我做的是一个研究性质的工作,我就是需要根据场景来分析和选择所使用的东西。
怎么又来一个一模一样的问题……
如果你没做过后端,直接从头学,随便抓一个来用
如果做过,那么想想之前用的东西能不能满足需求,不能就换。否则就沿用之前用过的
然后一模一样的话粘过来
通俗地说,题主的问题就是“我想要煮汤,大家说是用铁锅配合煤气灶还是砂锅配合天然气灶,我要煮的是萝卜排骨汤,家里有小孩,小孩平时喜欢吃肉,口味偏清淡,大家根据这个场景来帮我分析选择一下”,然后我和 @如果 同学的答案是“铁锅或者砂锅都能煮出好汤,关键要厨师的经验,如果你就是那位厨师,那赶紧煮一锅汤出来试试看吧”