write down,forget
标签 Tag : BerkeleyDB

小议 MySpace DataRelay

<Category: .NET, 分布式, 架构, 资源分享> Comments Off on 小议 MySpace DataRelay

最近看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 actual 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组件来替换等。

MySpace虽然开源出来了这套东西,但是好像不怎么上心,CodePlex上面连个像样文档都没有,扔上去的代码连测试用例都没有一个,想要用这套东西还真只能全凭看代码了。

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 MySpacehttp://channel9.msdn.com/shows/Communicating/CCR-at-MySpace/

本文来自: 小议 MySpace DataRelay