人人网的技术架构

   人人网的技术博客:http://ugc.renren.com/

     InfoQ:我刚才跟那个黄晶老师交流的时候,黄晶老师提到,最近在做两个开源项目,这两个开源项目您给我们简单介绍一下吧?

      黄:这两个项目其实也是我们在业务的需求下催生的,一个开源项目是分布式的key-value存储系统。这个项目其实有很多类似的开源项目,包括这个Cassandra等等,那么我们也是在经过需求分析之后,觉得这些项目多少都无法完全适合我们的场景,所以对于我们这个项目,我们把它做成一个比较灵活的,他下面的存储是可以用文件系统,可以用MySQL,也可以用Cassandra这样的系统,上层的管理要满足我们的需要,待会我会讲一下这个开源项目,我们也有这个开源项目的介绍,我们也有这个团队的一个博客,ugc.renren.com,大家感兴趣的话可以去看一下。另外一个我们打算开源的项目,是我们的一个Web开发框架,这个开发框架是Rest风格,比较简洁,比较适用于互联网的产品,它可以大大的减少开发controller这个层面的代码量,然后可以非常方便的去配置一些像O-R Mapping这样的机制,然后与它相结合。我们还有另外一个在Model层面的,很分散的、分片的大型数据库集群,当访问数据库的时候,也有和它结合很好的另外一个组件,将来如果是能够做的非常通用的话,可配置的话,我们也会考虑到开源。它是类似于MySQL Proxy访问数据库中间层的一个组件,它会负责把这些请求分发到数据库集群中。这几个结合起来,做比较规定规模的Web应用,应该是比较适合的。所以我们把这个项目开源,也是希望更多的人能够来使用和完善它,能够让更多的人在这个方面少走一些弯路,我们这几年探索过来,经过非常大量的重构。

   对于分布式系统,有一个理论叫CAP理论,有的系统可能在C和P方面做的比较好,这CAP三个,一个是高可用性,一个是节点容错性,一个是一致性,很难做到三个同时满足的,必须有折中。有的时候,有些系统在不同的取舍方面会有一些区别,这个区别就导致可能有时并不是非常适合,我们自己也希望能够对一个系统做到足够熟悉,在需要的情况下,我们可以直接去改造它的核心部分。

猜你喜欢

转载自leadtoit.iteye.com/blog/1120766
今日推荐