您的位置:首页 > 运维架构 > 网站架构

从奥巴马选举网站的开发和架构我们可以学到什么

2013-01-06 20:35 681 查看
1.对于开发者来说这个筹款网站最大的挑战是什么呢?



最大的挑战就是每天要接受到数量庞大的海量请求。

2.A/B testing和数据驱动?

整个网站开发团队包括开发者、UI、UE、数据分析专家、网络广告专家和作者。采用optimizely的A / B testing 让整个网站的页面展示具有最好的性能和效果。

3.前后台的架构?

整个网站是将几十个分离的系统与JavaScript和Akamai的服务捆绑在一起的。从广义上讲,整个网站的堆栈运行在Amazon Web服务,包括数以千计的EC2实例,几个大的数据库集群和S3托管。主要的的网站, www.barackobama.com ,是一个EC2和RDS安装支持的Expression Engine, ,由Akamai做前端缓存。

Akamai服务的为整个网站减少了98%左右的流量负载。此外,整个网站还使用了Jekyll,大量自定义的应用程序是建立在Django,Flask, Rails和Magento上的。网找的使用的最普遍的语言是Python。另外将捐款的后台做成API调用。这是因为有23%的访问者使用移动设备,所以必须部署多个前端(Web端和移动端)。使用API,可以让不同前端以相同方式与后台通信,彼此之间用JSON格式传递信息。拿付款系统来说,它是一个双系统由内部系统和vendor系统,如果有一个挂了的话Akamai会自动切换到另外一个系统上去。

4.所用open-source tools有?

在客户端,自己开发了CSS grid和core style以及使用jQuery , Modernizr的核心和需要延迟加载的模块JavaScript库。使用基于浏览器的应用程序的Mustache.js模板。 Fitvids.js是用最重的之一。在开发者内部,使用LESS CSS,,由CodeKit.编译 。整个网站的开发过程中保持开放,和采用更好的方法的态度,同样每天也都愿意去尝试和接受一种新的方法或系统。网站初步完成后,使用webpagetest.org进行测试。

原文详见:”Chatting with Obama For America’s Director of Frontend Development: Daniel Ryan

Meet the Obama campaign's $250 million fundraising platform

个人体会:

1.多语言多个app的集合系统;

2.多个子系统;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐