从奥巴马选举网站的开发和架构我们可以学到什么
2013-01-06 20:35
681 查看
1.对于开发者来说这个筹款网站最大的挑战是什么呢?
最大的挑战就是每天要接受到数量庞大的海量请求。
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.多个子系统;
最大的挑战就是每天要接受到数量庞大的海量请求。
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.多个子系统;
相关文章推荐
- JAVA开发网站可以使用什么框架?
- Windows Store apps开发[46]当用户点击Toast通知时,我们可以做些什么
- 有关Tumblr分享扩展的开发我们能学到什么
- 高效网站开发时代,编码还能给我们带来什么?
- 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
- 进阶:从 EventBus 我们可以学到什么
- 从乐高上我们可以学到什么?
- [智能架构系列]什么是Buddy智能开发框架
- iOS开发经常用到的国外网站,让我们接轨国外的最新技术吧!
- [让您蛋疼]VS开发时新建Web网站和新建Web应用程序有什么区别?
- 使用XPO开发时可以参考使用的架构
- 我们能从java的HelloWorld学到什么?
- 我们能从java的HelloWorld学到什么?
- 谈谈用ASP.NET开发的大型网站有哪些架构方式(成本)
- 我们可以用SharePoint做什么
- 敏捷开发一千零一问系列之十:总体架构什么时机进行?(下)
- 从程序员到项目经理(23):你真的尽力了吗?--从“月饼税”中我们学到什么
- 面向服务架构(SOA)带给我们什么?
- 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~三 分部类是否破坏了单一职责
- 学了ARM开发可以干什么