对segmentfault很感兴趣,想了解一下segmentfault背后的架构与服务器配置

  1. 使用什么语言和框架写的
  2. 服务器是个什么配置,做了怎样的优化,因为我觉得segmentfault的访问速度是很快的,想学习一下
阅读 7.9k
评论
    4 个回答

    InfoQ对我们的访谈中,谈到一些,全文:http://www.infoq.com/cn/articles/inte...

    InfoQ:能否从技术上再介绍一下咱们这个网站,比如说用到了哪些框架,或是开源的一些组件?

    Joyqi:这个网站整体上来讲是使用PHP语言开发,数据库存储采用的是MySQL,但是我们没有使用MySQL的发行版,用的是MySQL的Percona,主要是针对InnoDB的引擎做了一些优化。然后后端缓使用的Redis,PHP框架上我们没有用其他第三方框架,因为我本身也做PHP的,以前也有过一些积累,所以说框架什么的都自己写的。然后在这个我们用了一些第三方的组件,比如说分词,分词是用的那个SCWS,它的分词还是比较快的,另外它还支持PHP的扩展,所以我们用起来也会比较方便。现在我们把头像以及上传的图片全部都放在了又拍云存储,这使得在头像载入这方面可以做得比较快,而且又拍云存储与其他CDN不同的是,他针对图片做了很多优化,比如说可以自定义图像的缩放尺寸,自定义一个规格,这点其实对我们做头像来说是非常方便的,而且我们也非常喜欢这种方式。

    InfoQ:作为垂直类的问答网站,您觉得需要优先解决的技术问题有哪些?

    Joyqi:引用文本:我们从一开始就会把搜索作为一个优先解决的技术问题。我们在做站内搜索时花了很大的力气。最开始我们用的是Lucene的引擎做了一个Java的一个后端搜索服务,后来我们是把整个搜索全部转移到Redis平台上,用Redis来做站内的搜索,这样效率会比较高,而且搜索起来准确度比较高。
    引用文本存储方面我们因为当时正好Redis比较流行,后来发现Redis其实它不但能够满足Memcached的一些服务,它本身有很好的数据结构可以满足我们需求,比如说Hash、List以及有序List都能很好的满足我们的需要。在语言的选择上,开始我们有很多选择,但是后来还是选择了比较熟悉的PHP语言。而且我们在客户端的服务上很多也是用PHP,比如说发邮件的服务,我们现在用的是亚马逊的SES(Amazon Simple Email Service),可以解决我们一些发送邮件的问题。因为如果我们自己搭建邮件服务器的话,很可能会被看作垃圾邮件,还会遇到其他的问题,但是如果用亚马逊这个服务就不会有这种问题。
      相似问题
      社区建设
      合作问答

      欢迎来到 SegmentFault 0x 社区建设。这里可以讨论有关 SegmentFault 的一切,帮助我们改进产品、完善社...

      推荐文章