设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

为什么你不应该使用MongoDB

2013-12-13 13:43| 发布者: joejoe0332| 查看: 9783| 评论: 1|原作者: super0555, yale8848, ley, 黄劼, lwei, Garfielt, SimpleBy, 李孟华|来自: oschina

摘要: 我也有几次做出了错误的选择。这是一个关于其中一次的故事——原本我们为什么选择它,我们是如何发现它不合适,以及我们如何修复的。这一切都发生在一个开放源码的名为Diaspora的项目中。 ...


  Diaspora的基础设施并不在一个单独的网络地址上。有几百个独立的Diaspora服务器。代码是开源的,所以如果你愿意,你可以建立自己的服务器。各个服务器,被称作一个pod,有它自己的数据库和自己的用户集合,并可以与其他拥有各自数据库和用户集的Diaspora pod进行交互操作。



  不同规模的Pod互相交流,而没有一个中央枢纽。

  

  每个pod通过基于HTTP的API与其它pod通信。一旦你在一个pod上创建了一个帐号,它其实相当无聊,除非你关注一些其他人。你可以在你的pod上关注其他用户,而且你也可以关注其它pod上的用户。当你关注的人在另一个pod上发布一个更新时,将会发生这些事情:


  1. 该更新会进入作者的pod的数据库。
  2. 你的pod会通过API收到通知。
  3. 该更新被存入你的pod的数据库。
  4. 你可以看看近期活动,将会发现这个发布与你关注的其他人的发布混在一起。


  评论按同样的方式运作。在任何单一的发布中,一些评论的评论人可能来自与发布作者相同的pod,而还有一些可能来自其他的pod。任何有权查看这个发布的人将会看到所有的评论,就像你期待的,好像每个人都在一个单一的逻辑服务器上一样。


  谁关心?


  这个架构有技术上和法律上的优势。技术上的主要优势在于容错机制



  这是每个办公室都应该有的一个重要的容错系统。


  如果pod中的任意一个宕机,这不会引起其他的也宕机。系统的生存,甚至期望,网络的分割。对于这,有一些有趣的政治上的暗示——例如,如果你在一个关闭了外接网络而无法访问Facebook和Twitter的国家,你的pod依旧会在本地运行,并和你所在国家内的其他人相连接,即使无法访问外部。


  主要的法律优势是服务器的独立性。每个pod都是一个法律独立的实体,由其创建所在地的法律所掌管。每个pod也设置自己的服务条款。对于其中的大多数,你可以在不放弃对内容权限的条件下发布内容,这与Facebook不同。Diaspora是一个免费的软件,其意义在于“免费”和“自由”,而且大多数运行pod的人非常在意这种事情。


  所以这就是这个系统的架构。我们再来从一个单一的pod看看这个架构。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部