大规模视频网站的计费与流量管理
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Werner Schuster 译者 李明(nasi) 发布于 2009年6月16日
一直以来,iPhone平台上活跃的语言就只有Javascript和Objective-C。不过最近开始有其他语言加入这一队伍。利用Mono的预编译,.net的应用程序也可以编译通过并在iPhone上运行了。四月RhoMobile发布了Rhodes,Rhodes支持构建包括iPhone及其他系统上的smartphone应用。
我们对John M McIntosh进行了采访,就如何在iPhone上运行Squeak,以及使用什么样的编程模型进行了探讨。
InfoQ: 据说您现在正在使用Squeak实现一个基于HTML/Javascript的GUI,可以跑在iPhone的浏览器控件上,是这样的吗?
实际上要复杂得多,绝不仅仅是使用Webview。例如,WikiServer的Wiki入口需要展示一个多行文本框,然后是标准键盘和键盘控件条,用于输入特殊字符以及取消或确定指令。虽然Wiki信息是通过Webview方式来展现的,我们却需要通过UIKit来管理四种不同的屏幕。由于不得不使用定制的Objective-C类来做这件事以及编译VM,所以你可以选择一部分工作使用Smalltalk来做,而另一部分交给Objective-C。技术上来说,你可以用Smalltalk做任何工作,但实际上会存在性能问题,所以没有什么实质上的收益。
由于UI在iPhone的唯一性,所以需要将可视层与领域模型剥离开来,这也是基本的MVC逻辑。事实上,WikiServer最初是一个自带控制屏的蹩脚应用,有人就质疑:难道我们就不能直接在设备上编辑内容么?不过,后来我们也没有采用构建通用UI层启用平台特定实现的方法,因为那样的工作量要大得多。这里我要提一下 http://news.squeak.org/2009/01/08/squeak-goes-to-mars,Esteban Lorenzano已经实现了一个Cocoa UI框架,旨在iPhone应用。此外我也注意到其他诸如Cincom的Visualworks这样的Smalltalk系统,它使用的是原生窗口部件,不过启用这个系统还是很费劲的,现在我们还不想做此努力。
InfoQ: 你用什么来实现web应用?Seaside吗?
Seaside用于提供网页,然后是UIWebView,这是一种用Mobile Safari渲染网页的UIView。理论上讲,任何大小适中的seaside应用都可以跑在iPhone上。
InfoQ: 你能在iPhone上使用Squeak映像么?在其他系统上是否能够修改并且保存呢?比如说,桌面系统上也可以么?
有了isqueak.org上提供的基本软件,iphone开发者就可以选择自己想要的映像来构建一个squeak。更新一下映像,就可以引入multi-touch逻辑以及Objectiv-C的接口。通过触摸与Squeak桌面的交互,你也可以选择保存映像。
我们的Swirl应用http://www.mobilewikiserver.com/Swirl.html就展示了Squeak桌面,其中触摸功能禁用了。我们使用UIKit的Alert对话框来获取信息。
我们的Fration应用http://www.mobilewikiserver.com/Fraction.html很像WikiServer,它包括两个UIKit屏幕,通过触摸交互将计算请求发送给计算引擎,这个计算引擎是不知道UI存在的,它只是接受击键并更新文本串。
InfoQ: 目前的应用大小大概是16/7MB,有可能进一步优化大小么?
SqueakDocs和ST80Docs比这个数大多了,因为他们是压缩过的,而且包括四月份左右发布的基于Web的Squeak和Pharo开发映像的源代码。一旦安装到iPhone上他们就需要54MB的闪存空间。这个数字和RAM的大小不是一回事:大约10MB的RAM用来装载VM和Mobile Safari(如果没有safari会少几MB),然后是映像,所以他们一共需要大概35MB的随机内存。
WikiServer所需的随机内存要小得多,14MB,不过这可是精心调优后的结果。
InfoQ: Pharo和Squeak版本的差异是什么?
Squeak版本是基于Web开发的开发者映像,通过squeak.org就可以获取。我们从WikiServer中补充了一些功能进来,包括支持web view,状态以及信息屏等。除了我们提供的补充和少量的一些加快启动速度的小改动之外,和你下载下来的映像没有什么差异了。Pharo版本是Pharo团队的产品,他们想让这个映像更商业化,而不是为了提供开发学习,所以很多Morphic和eToys都已经裁剪掉了。而且他们有更加活跃的更新流以及积极主动的方法去及时修正bug。
InfoQ: 是否有可能通过精简映像元素来减小映像大小?还是这已经是精简后的版本了?
我会在http://www.esug.org/Conferences/2009/Current+List+of+Talks/Smalltalk+on+iPhone中详细探讨这个问题。
基本的Pharo映像大约是22MB,我们删除了其中12MB的代码,这样WikiServer所用到的差不多是10.5MB。Swirl不包括Seaside,大约是6MB。这还有进一步降低的可能,我们会利用Craig Latta在小型映像上所做的工作 http://netjam.org/projects/spoon/,我们也利用iPhone上的虚存管理器,做到只有当网页确实被请求执行时才交换到RAM。对于WikiServer而言,差不多4M的映像数据在应用执行是完全不需要的。
Apple AppStore上已经有基于Squeak的商用应用提供,包括WikiServer(注:ITunes链接,另外还有一个Mobile Wiki Server站点)、SqueakDocs using Squeak(注:ITunes链接)以及SqueakDoc using Pharo(注:ITunes链接)等。
查看英文原文:Squeak Smalltalk and Seaside come to the iPhone
译者 李明(nasi) 毕业于东北大学,曾供职于百度网页搜索部,从事分布式网络爬虫及其国际化的研发工作。
这里的"映像"是框架的意思吧?好生硬哦
这里的"映像"是框架的意思吧?好生硬哦
这个 image 的翻译参考了中文Squeak项目的文档 ,如果有不对的地方,还望赐教
Smalltalk映像(.image文件)应该相当于工程文件
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。
云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。
淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011。
2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。
12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011。
篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011。
本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。
3 条回复
关注此讨论 回复