Microsoft Orleans
在.net用简单方法构建高并发、分布式的大型应用程序框架。
原文:http://dotnet.github.io/orleans/
在线文档:http://dotnet.github.io/orleans/What's-new-in-Orleans
源码地址:https://github.com/dotnet/orleans
简介:Orleans 框架可以构建大规模、高并发、分布式应用程序,而不需要学习专业分布式以及并发知识框架。它是由微软研究和设计应用于云计算。
Orleans 被广泛应用于微软云产品,值得注意的是微软官方游戏:Halo4、Halo5(光环|光晕)的云服务全部由它来承载,以及越来越多的公司采用它。
特点:1.默认的可拓展性,构建复杂的分布式应用程序,可以使您的程序轻易拓展到数百个服务。
2.低延时,它可以使你的程序状态保存于内存中,所以你的应用程序可以快速响应请求。
3.简化并发,Orleans 允许你使用C#代码构建Actors 之间的异步处理消息。
注:(Actor模型,请查看著名的Actor模型论文)
在Orleans,actors 被称作grains,采用一个接口来表示,Actors的消息用异步方法来接受,如下:
public interface IMyGrain : IGrainWithStringKey
{
Task<string> SayHello(string name);
}
运行在Orleans 框架里的实现代码
public class MyGrain : IMyGrain
{
public async Task<string> SayHello(string name)
{
return "Hello " + name;
}
}
然后通过创建代理对象,并调用Grains的方法来发送消息
var grain = GrainClient.GrainFactory.GetGrain<IMyGrain>("grain1");
接下来该做什么呢?
await grain.SayHello("World");
如果要学习更多关于Orleans的概念,请阅读 Orleans简介
如果要学习入门教程请学习 一步一步教程