大规模视频网站的计费与流量管理
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Jon Rose 译者 沙晓兰 发布于 2007年12月20日
上周,Adobe宣布对Adobe Flex平台作了大改动,大量的生命周期数据服务(LiveCycle Data Services)在BlazeDS项目中被开源,开源内容还包括AMF的规格说明和代码。对于那些正在考虑采用Flex平台的人来说,这次改动应该清除了最终的成本和许可障碍。1. 文件大小 —— AMF对象非常小且使用zlib压缩。在Adobe宣布AMF和BlazeDS开源之前,开发人员确实也有一些开源工具可选择来使用AMF协议,这些工具由一些团体采用反向工程而得。这些开源项目包括RubyAMF、AMFPHP、SabreAMF、OpenAMF和Granite Data Services(GraniteDS)。拥有一个公开发布的AMF规格说明应该只会帮助改善这些实现。Ruby和PHP项目仍将首选在应用程序中使用这些技术以利用AMF,就如BlazeDS是Java应用程序在远程访问和消息传递方面是首选。
2. 快速序列化/反序列化 —— AMF在player中使用本地C代码转化,因而运行非常之快。AMF格式本身就被设计为在低内存和慢CPU条件下依然能够快速序列化和反序列化。由于AMF数据直接被解析为对象,没有审核解释或解析AMF的延迟,对象的创建可一次完成。
3. 本地类型和自定义类的支持 —— 除了displayObjects,你可以序列化Flash Player中的任何对象。在反序列的时候如果自定义类在Flash Player中,你也可以将先前序列化的对象映射回自定义类实例。
大家好:在深思之后,Wolff 确实看到了GraniteDS的未来发展方向。在一个开源项目运作的样例中,他认为有很多新特性可以贡献给BlazeDS项目,或者可以继续独发展GrainteDS项目。
恩……这是一个好消息(尽管我对此感觉还是有点怪)!
对GDS来说,唯一可能的将来是为BlazeDS遗漏的性能提供一些代码(我主要考虑的是透明外化(transparent externalization)、延迟加载(lazy-loading)的支持、代码生成)……
目前,我想我会停止任何GDS进一步的开发……欢迎大家做自由评论。
此致
Franck
大家好(这是我的一些新的想法):GraniteDS对集成了Java的Flex应用程序确实有一些很优秀的特性和优点。另外,BlazeDS也不仅仅是一个AMF规格说明的实现,它提供了一些GraniteDS没有的特性,如push、消息传递。抛开实现不说,很明显,Adobe向Flex平台开源的迈进,对于Flex开发人员是百益无害。
Cheers,
- 一点点历史回顾: GDS创立的起因是由于FDS太过昂贵,而且更重要的是,它并不与众所周知的持久性API(EJB3/Hibernate)集成,也不提供任何延迟加载机制。这也是为什么从最初我就创建了这个透明外化(transparent externalization)的特性(特别是HibernateExternalizer)来进行序列化并保持所有持久的相关bean的域(比如id,version等)私有。后来,为了避免令人厌烦的手工编写可外部化(Externalizable )AS3 bean的工作,gas3(GDS 代码生成器)应运而生。
- BlazeDS和GDS的比较:令人感到惊奇的是,从严格的远程访问的观点来看,BlazeDS恰恰是GDS一直以来想要实现的方向:使用RemoteObjects的经典的AMF3远程访问,一个新的基于Comet的信道用于在生产者和消费者之间通过HTTP(非RTMP)交换AMF3对象。另一方面,从持久性的观点来看,BlazeDS不包含任何数据管理的特性,所以GDS可以补充很多非常重要的但BlazeDS缺少的特性:EJB3 持久性和延迟加载的支持。
- 一点点策略:BlazeDS(LGPL3,含源码)的第一个发布版本预告期为2008年初(没有精确的日期……),对于我们来说最好的策略是尽快发布GDS1.0(在一月底之前),然后共同等待BlazeDS公开他们的源码。再然后,我们或者可以拷贝/粘贴一些BlazeDS的好的代码到GDS(同一个license!)中, 或者将外化+延迟加载机制+gas3添加到BlazeDS的特性中去(如果Adobe同意的话),或是甚至将GDS作为BlazeDS的一个插件发布(不知道有没有这个可能性)。非常欢迎发表任何看法!
Franck.
译者 沙晓兰 目前从事Web应用的开发,有Java和JavaScript开发经验,关注J2EE、Struts 2等技术以及富客户端开发动态。
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于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。
本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。
没有回复
关注此讨论 回复