MySpace DataRelay

 
DataRelay是MySpace开源的一个中间层框架,核心是一个支持插件的消息系统,内部使用了微软的CCR(Concurrency and Coordination Runtime,a component originally released as part of the Microsoft Robotic Studio)来作为消息的分发,包括3个核心组件:
Forwarder - This handles the actaual moving of messages, both from client to server and between servers ,实现消息的不同服务器节点以及客户端之间的数据分发传递.
BerkeleyDB - This handles storing data, and is the component used for basic key/value caching,Oracle的KeyValue数据库,查询效率高,数据能够持久化到硬盘,支持多个节点来实现分布式缓存.
Index Cache - This is a two tiered indexed data system, for more advanced queries than simple key/value,通过创建索引数据并存储到BerkeleyDB,并通过Component在服务端进行计算筛选,来实现复杂的数据查询.


MySpace作为.NET架构最为成功的案例之一,确实有其过人之处,DataRelay提供了高性能的缓存系统和消息处理机制,并支持自定义计算Component组件,各组件支持Cluster,有完整的Replication和负载均衡机制,组件都是以windows服务的形式,可以非常灵活的进行部署,客户端与服务端使用Socket进行通讯,另外通过自定义组件可以提供更多的扩展,譬如缓存部分可以使用Memcached组件来替换等。


CodePlex代码下载地址:http://datarelay.codeplex.com/SourceControl/list/changesets#
MIX 10上的演讲:Robots at MySpace: Massive Scaling a .NET Website with the Microsoft Robotic Studio (有CCR相关的介绍)  PPT下载
CCR at MySpace : http://channel9.msdn.com/shows/Communicating/CCR-at-MySpace/

posted @ 2012-11-30 15:55  leeolevis  阅读(320)  评论(0编辑  收藏  举报