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/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现