大规模视频网站的计费与流量管理
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Werner Schuster 译者 杨晨 发布于 2008年12月25日
Rhodes是一个开源的解决方案,它使得开发人员能够在移动设备上进行Ruby开发。而且它允许使用类似Java的特性,一次编写,到处运行。它 还支持多种设备,例如iPhone、Windows Mobile和RIM的BlackBerry,并且在将来还会支持Symbian和Android。
能够将程序部署到iPhone是一件非常有趣的事,它为iPhone开发提供了另一个选择(继Objective-C之后)。而且,Rhodes以及必需的解释器和程序库都是开源的,由Github托管,还有一个Rhomobile项目的公开BUG追踪系统。
我们采访了Rhomobile的Adam Blum,深入地了解了Rhodes是如何工作的,以及他们是如何成功使得Ruby程序能够在iPhone上运行。
平台
关于如何使得Ruby程序成功地在iPhone上运行的问题。Adam解释说:
答案就是 [..] 我们将开发者的程序和我们的架构以及一个Ruby解释器绑定在一起。为了顺从于AppStore,开发者们不能随意地在其他地方下载解释过的代码。要么他 们忍气吞声,要么他们就选择一种更简单的方法来解决这个问题,只要他们肯违背这种限制的话,那就是集成一个Ruby解释器,直接下载Ruby代码。
iPhone上的Ruby版本现在是1.9版。而且Rhodes支持其他多种平台,并计划添加更多平台的支持,例如Symbian等等。
BlackBerry的应用程序都是用Java编写的,所以想让这个平台支持Rhodes和Ruby,就得多做点儿事。Rhomobile选择了一个雄心勃勃的解决方案,使用XRuby。XRuby是一个Java的Ruby版本,它能够将Ruby源代码编译成Java类文件。XRuby的开发在去年停滞了下来,但是Rhomobile已经选择了XRuby,并且对其进行了改进,现在在Blackberry上使用的是XRuby来运行Rhodes应用程序的。Adam还提道:
我们现在还在搞Android,根据我们在RIM的实现(基于XRuby而不是JRuby)来尝试在Android上运行Ruby代码。
Adam也提到说,需要保持Ruby解释器体积足够小,而这会影响到一些Ruby库的使用:
我们定义了一个子集,这也是为什么我们要自己来做框架的理由。为了让解释器的体积更小,我们可做了不少工作,而且以后会做得更好。
例如eval()等特性现在也不支持。
因为Rhomobile是与Ruby解释器需要在移动平台上协同工作,我们又和Adam聊了聊他对于这个问题的愿景:
嗯…… 我们当然希望看到Ruby解释器的实现者们把解释器做得更小,而且更关注于当构建了好用的Gems之时,程序库依赖的体积也更小。现在这些事情都是我们在做,不过也还好。
如何工作
Rhomobile目标是支持多种不同的移动电话平台,所以他们选择了构造Rhodes跨平台应用程序架构。简而言之:Rhodes应用程序就是运行在本地设备上的web应用程序(例如运行在设备上的应用程序,其Ruby部分就 如同HTML GUI一样)。这些程序的GUI用HTML来定义,并且使用浏览器来显示。现代的手机都带有浏览器程序,例如iPhone上的基于Webkit的 Safari。也就是说,开发者可以使用通用的web开发方法来开发应用程序,包括在GUI中使用Javascript。Rhodes同样关心如何使 GUI看起来像独立平台上的原生GUI组件,例如使用属于iPhone GUIs的IUI。
但Rhodes还有一些新方法:有一些现代智能手机的高级特性在Rhodes应用开发中也可以使用,比如说地理定位信息;对加速仪、摄像头以及本地PIM的存取下个版本就可以使用。下一个版本预定于1月发布。
使用这些特性,我们可以使用Ruby调用,并且在HTML文件中以HTML标签形式来使用,例如:
<geolocation/>
将会以如下形式展现:
37.3317° North, 122.0307° West;37.331689;-122.030731
像其他Ruby的Web架构一样,开始编写Rhodes应用程序也很简单。在开始的时候,先使用一个生成器:
rhogen app accountapp
这个命令产生了基本的应用程序骨架,包含了控制器以及其他的应用。更多信息请参见Rhodes示例。
Rhodes还包括Rhom,它是一个对象映射器。在Github上同样也有其他的Rhomobile程序库。例如Rhosync,它可以将不同的数据源同步到移动电话上。
Rhomobile 还是一个新项目,现在发布的版本号是0.1,但是0.2版将会在这个月末发布,这个版本改进了PIM的存取以及GUI。0.3版预期会在2009年的一月 末发布,将会支持更多的平台以及支持更多设备(例如加速仪),以及为Rhodes开发者提供项目托管。
最后需要说明一件非常重要的事情,Rhodes是在Github上的一个开源项目。Rhomobile的商用模型基于双许可证。Rhodes应用程序是开源的,但是如果一个公司希望使用Rhodes,并且不打算对外公开源代码,那么就需要从Rhomobile取得商业许可证。
你还知道其他的跨平台解决方案能够像Rhodes一样提供类似级别的集成化吗?你会使用Rhodes来编写程序吗?
查看英文原文:Rhodes Brings Ruby Apps to iPhone, Windows Mobile, BlackBerry
译者 杨晨 对数据库和搜索引擎有深入了解,尤其擅长经典计算机科学理论,对历史学兴趣浓厚。
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
Jeffery Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffery 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。
本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。
没有回复
关注此讨论 回复