WordPress.com的架构

2016年4月11日 | 分类: 【技术】

漏洞:https://www.seebug.org/appdir/WordPress

参考:http://doc.weixiaoduo.com/knowledgebase/album/17599.html

WordPress.com 提供超过33万个网站,每月吸引了超过3.39亿人,网页数量34亿。与2008年4月相比,WordPress.com的访问量增长了4.4倍。 WordPress.com VIP运行着许多受欢迎的网站,包括CNN政治,NFL,Flickr和KROQ的企业博客等等。总共运营约2000台服务器,分布在全球各地的12个数据中心。

WordPress.com从2005年开始,开始转移动共享主机上,就像所有的WordPress.org网站。在2005年年底,WordPress.com向公众开放,并在2006年初扩大到4个Web服务器,以及分布式循环DNS。此后不久WordPress.com扩大到第二个数据中心,然后是第三个。但很快发现,循环DNS是不是一个可行的长期的可行方案。 虽然F5 BIG-IP提供了许多功能,但系统团队的5名成员组成的决定评估择不同的开源软件。使用开源软件在商用硬件上提供了最高级别的灵活性。 第一,WordPress.com团队选择了Pound 的软件负载均衡器,因为它的易用性和内置的SSL支持。WordPress.com需要额外的功能和可扩展性:

  • 不中断网络的前提下进行重新配置;
  • 迅速从从后端的故障中恢复;
  • 更好的可扩展性,既每秒请求数;

2008年4月,WordPress.com负载均衡器从Pound 转换到NGINX。在此之前,工程师已使用NGINX数个月,并留下了深刻的印象,它的性能和可扩展性。下面是一些为什么NGINX选择的原因:

  • 简单,灵活和逻辑配置。
  • 能够重新配置和升级NGINX的情况下,同时不丢失用户的要求。
  • 应用程序使用uwsgi通过FastCGI或SCGI协议; NGINX还可以提供静态内容直接从存储额外的性能优化。
  • WordPress一台服务器的流量每秒超过10000次请求。
  • Nginx的内存和CPU占用是最小的。切换到Nginx的负载平衡服务器上的CPU使用率下降了3倍。
  • 整体WordPress.com服务约70000请求/秒,超过15 Gbit/秒的NGINX负载均衡服务。硬件配置是双核Xeon 5620四核​​心CPU与超线程(HT),8-12GB的RAM,Debian Linux 6.0系统。(编译/包研

原文:http://highscalability.com/blog/2012/9/26/wordpresscom-serves-70000-reqsec-and-over-15-gbitsec-of-traf

WordPress.com 推出 299 美元的主机服务套餐 2013-03-09

原文:http://www.theverge.com/2013/3/5/4067032/wordpress-launches-299-business-tier-unlimited-storage-live-support

开源博客 WordPress 的商业博客服务网站 wordpress.com 近日推出了一款主机服务套餐,套餐包括:无限存储空间、在线客服、无限制的付费会员博客主题以及附带的个人域名。

所谓专业服务,业余价格。这个网站主机租用套餐,每年收费 299 美元,的确非常便宜。稍微算一下帐就清楚了,付费会员博客主题单独购买是 50 美元起价,而公司租用服务器一般价位在 300 美元左右,另外还有域名每年十多美刀话费。Wordpress.com 提供的这一套餐,标价 299,性价比是相当高的。唯一需要担心的是,目前 wordpress.com 的客服只能在线文字联系,无法语音通话,而且不是 24 小时服务。

Discussion: Scaling WordPress Horizontally

原文:http://geek.csdn.net/news/detail/60833
原文:https://www.reddit.com/r/Wordpress/comments/47chth/scaling_wordpress_horizontally/

译者:孙薇
原文选自Wordpress的留言问答,提问者是bsmoo。

问题:
我在一家托管公司工作,我们总是为客户推荐解决方案。最痛苦的事情就是内容的上传,这些内容或者得放在集中的地方,或者需要一个管理节点将所有新文件推送到伺服器上。

我一般采用的解决方案就是下面这样:

  • 负载均衡器
  • 1x 装有lsyncd,inotify和rsync的主服务器(Apache, mod_php),并通过这些应用将增删/修改的文件发送到从属服务器上。
  • 1x 从属服务器(Apache, mod_php),搭载有Apache proxypass,负责将POST请求发送给主服务器,以确保新上传的文件是通过主服务器添加的,然后再分别同步到从属服务器上。
  • 我们公司使用Percona和Redis服务器,分别负责提供数据库与缓存服务。

我的问题是:

  • WordPress的最佳方案怎么设计?
  • 你们用什么工具进行会话?Redis/Memcached
  • 怎样在多台服务器上执行文件复制?
  • 性能方面有什么问题吗?
  • 你们用的哪种数据库,为什么?

回复1:Zm3tta:

我们托管了大约2000个WordPress实例,目前正在进行架构升级,以获得可扩展性与安全性的提升。应用服务器的CPU利用率是主要的瓶颈,我们希望能在需要时,快速在资源池中部署新的应用服务器。

我们使用Nginx Web服务器来处理静态内容请求、所有vhost路由、Redis缓存以及php请求的负载均衡。通过Nginx的iphash设置定向到多台应用服务器上,从而可以为Redis缓存设置最小规则,并以相对透明的方式来处理会话。

针对文件复制的问题:利用NFS4将各网站的doc-root安装到应用服务器上,这样无论哪个节点的内容有修改,都能立即发现。我们使用PHP-FPM数据池监听多台应用服务器,从而使得扩展应用服务器层非常简单与快速,可以按需求向多台或几台服务器执行资源请求的分发。并在最后设有独立的数据库服务器,针对未能缓存的内容请求作出回应。

虽然彼此的架构差别很大,不过至少可以做些了解。

提问者回复:

问题在于……NFS仍是一个单点故障,如果不用GlusterFS之类的东西,怎么解决这个问题?

回复2:csmicfool

我们有个大型的WPMU网络(3000多个网站),使用NFS挂载上传目录,无需担心用rsync同步的问题,也无需设定“管理”或主/从服务器,所有虚拟器地位相同,从而使得按需扩展更合理。这种方式比我们原本的预期更为有效。

在NFS服务器上,我们使用rsync将上传的内容增量复制到另一个(用s3fs)装有S3 bucket的文件夹中,因此存有离线留存和冗余副本。切记:不要在web服务器上使用s3fs来处理目录。

想要节省开支,可以在管理页面强制使用SSL,并且只开启节点上的SSL,然后通过rsync或类似的方式来执行从管理到其他网页的分发。

提问者回复:
我们有很多客户想要寻求更廉价的解决方案,因此我认为强制使用SSL的方案非常棒!

回复3:springer70

这里分享一则Joomla网站托管实例,事实上在wordpress上,原理是相同的。

我们使用Elastic Beanstalk托管到亚马逊上,根据需求和流量执行向上/向下的扩展都很简单。一开始网站流量很低,公司进行大规模宣传之后,流量猛增。因此使用弹性架构就非常有用。

我们有一个负载均衡器,将流量引导到可用的前端服务器池中。在这些服务器上设有应用作为zip文件的容器,在需要新服务器时,只要执行部署,zip文件就会解压并部署到新服务器上。这就代表着(你提到的)文件上传很棘手。我们使用独立的云存储来管理媒体和上传(亚马逊s3),并使用插件将用户的上传内容导入s3存储中,而不是存在本地文件系统中。(有趣的是:媒体的这种通用存储对于开发/staging/qa/生产环境来说尤其有用,因为它们全都使用同一个存储文件系统)。

我们还有个中央单一数据库,不保留实时冗余副本;一份故障转移备份,最多5分钟就能恢复生产环境。

这个解决方案不算便宜,我们有:

  • S3存储的成本;
  • EC2前端服务器(每次至少2台,保留冗余副本);
  • 2台数据库服务器;
  • 负载均衡器;
  • 开发与staging服务器,staging复制了生产环境;

我们在数据库中管理会话,因此如有用户从一个前端服务器换到另一个,会话就会被保留。还有备选方案,就是使用“粘滞会话(sticky sessions)”——强制用户一直停留在同一台前端服务器上。

我们的复制计划非常简单,因为没有真正复制任何东西。前端服务器将zip文件保存在应用中,因此也不包含“真正的”数据。所有数据都在S3或数据库中。

结果性能很不错,我们的前端服务器速度很快,由于存在一些前端缓存,数据库(mysql)很少使用(相对而言)。我们使用的所有服务器都“很小”或“超级小”,因此无需性能特别强大。抱歉写了一大堆东西。

回复4:applextrent

我们在WPdocker.com是使用SaaS平台和云服务器管理器作为通用的容器管理方案。使用补丁管理来解决更新的问题。关于容器可以查看这里获取更多详情。

微软windows live space服务易手wordpress.com

2010年9月28日,微软正式宣布将终结自己前景黯淡的 Windows Live Spaces(共享空间)博客服务,近3000万原有帐户将被强制性迁移到主流的博客服务 WordPress.com。 WordPress 是世界上最著名的博客平台,不仅拥有博客托管服务,还提供开源博客平台供站长搭建,十分开放。 WordPress占据整个 Web 世界 8.5 % 的比例,通过其平台程序搭建的站点达到了 2600 万个,Wordpress.com 的每月浏览量也有 2 亿 5 千万之多。由于缺乏足够的竞争力和其引力,近两年以来,Live Spaces 服务基本上没有什么更新,原有用户也越来越多的离开,转投其他更好的博客平台。因此,微软决定放弃继续经营自己搭建的平台,让用户能使用到更加优秀的服 务。尽管包括日志、照片在内的主要内容都会被顺利转移到 WordPress,但用户仍然会失去一些数据,包括草稿、小工具、留言簿和列表,特别是留言簿,对某些用户来说也许比较珍贵。 本周一,微软已经与WordPress母公司Automattic达成了协议。从今天开始,Windows Live的博主们可以通过迁移工具,将自己的博客转到WordPress。整个迁移工作将在未来几个月完成。最后迁移期限是 2011年3月。 听起来好像微软外包了整个博客平台,但微软Windows Live产品管理负责人摩什梅塔(Dharmesh Mehta)否认这种说法,他认为这只是一种合作。摩什梅塔(Dharmesh Mehta)说:“当我们考察用户的博客需求,看看各大公司提供的不同产品,我们对WordPress.com特别有兴趣。它们支持大量很好的功能,如可 扩展的平台,反垃圾保护,很好的个性化和定制化。”摩什梅塔称:“与其在Windows Live中投入力量打造一个有吸引力的服务,不如通过WordPress.com向用户提供最佳的博客解决方案。” 用户如果今天不方便迁移博客,也可以将博客下载,日后再迁移,或者干脆删掉博客。根据微软与Automattic的合作协议,MSN与 WordPress也会打通。另外,WordPress将会成为Windows Live Essentials 2011的默认博客平台,该软件将于今年晚期推出。 微软放弃博客平台引发业内人士的争议。此举证明微软放弃在社交媒体领域建立自己的领地,后期将采用 Windows Live 帐户与各社交平台互通的方式发展。 在转的过程中分别收到的三封Email:

我们正在将 Windows Live Spaces 日志迁移到 WordPress.com ,该网站不久就可投入使用。虽然该过程可能需花费 1 天时间,但实际上通常比这快。如果您在迁移过程中遇到任何问题,请从 Windows Live Spaces 帮助中心获取所需资源和联系信息。 使用书签形式的共享空间链接的访问者将自动重定向到 WordPress.com。如果您选择使用 Messenger Connect 进行连接,则还会将指向您的 WordPress.com 日志的链接添加到您的个人资料中,并且您的好友将能够直接从 Messenger 中查看和评论您发布的日志。您可以在管理已连接的服务页管理连接到 Windows Live 的服务。 我们希望您喜欢这一新的体验。 仍遇到问题?请访问共享空间升级中心 感谢您使用 Windows Live! 共享空间团队