上一篇Orleans学习总结(五)--监控篇,我们这篇来说说我们项目的应用
 
这是我们项目的结构图
 

我们分别来说下各个部分

1、Zookeeper作为集群基础,至少开5个,分别在不同的物理机上
2、Silo就是我们业务逻辑,比方我们把一个Player拆分成多个Grain,LoginGrain,FriendGrain,TeamGrain,StatisticGrain,RankGrain。还包含GameGrain,Grain负责启动GameServer进程。
3、Gate是一个高吞吐量的转发服务器,是一个OrleansClient,在Gate里根据找到连接找到对应的Grain,通过消息包Id调用对应的Grain的方法,Gate不处理任何逻辑,只做转发,所以他应该是多线程的,并且也能收到Silo发来的消息。
4、GameServer是被Silo的GameServerGrain所管理的单局战斗逻辑服务器。没开一局战斗就会开启一个GameServer进程,战斗结束把战斗结果汇报给Silo,然后进程退出。开局后Client会直接连到这个GameServer。
5、Client端可以是各种设备,PC的或者移动端。他们最先联往Gate

大概的思路是这样,欢迎各路大神来探讨,blue-1986@hotmail.com

Orleans学习总结(六)--应用篇的更多相关文章

  1. Orleans学习总结(五)--监控篇

    上篇说完了Orleans学习总结(四)--集群配置篇,这次我们来说下监控 Orleans有一个强大的社区,为Orleans开发着各种各样的扩展工具,我们用的是OrleansDashboard.Dash ...

  2. Orleans学习总结(三)--持久化篇

    经过上篇Orleans学习总结(二)--创建工程的介绍,我们的工程已经跑起来了,下面我们来介绍下持久化相关. 关于持久化的文档地址在这http://dotnet.github.io/orleans/D ...

  3. 正式学习React (六) 项目篇

    https://github.com/huenchao/yingshili 或者点这里 注意事项看ReadME.md 会持续更新,反正就是把之前分析的redux react-redux都用一下,然后会 ...

  4. Orleans学习总结(四)--集群配置篇

    上篇我们讲了Orleans学习总结(三)--持久化篇,这一篇我们来说说集群配置,毕竟这个才是Orleans的看家本领 Orleans支持热起动,支持自动节点发现,能够断线重发等一系列黑科技. 我这篇是 ...

  5. webpack学习(六)—webpack+react+es6(第3篇)

    接上篇 : webpack学习(六)—webpack+react+es6(第2篇) 上篇其实是有问题的,问题在取服务器数据这块.this.props 表示那些一旦定义,就不再改变的特性,而 this. ...

  6. 从零开始学习jQuery (一) 入门篇

    本系列文章导航 从零开始学习jQuery (一) 入门篇 一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些 ...

  7. RabbitMQ学习总结 第三篇:工作队列Work Queue

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  8. RabbitMQ学习总结 第四篇:发布/订阅 Publish/Subscribe

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  9. RabbitMQ学习总结 第五篇:路由Routing

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

随机推荐

  1. 通过html页面打开Android本地的app

    http://www.cnblogs.com/yejiurui/p/3413796.html 一.通过html页面打开Android本地的app 1.首先在编写一个简单的html页面 <html ...

  2. 如何Python下载大文件?

    我想用python脚本下载很多文件,但是经常就有那么几个出错,写了个error handling,跳了过去,但是把出错的链接保存了一下. 转过天来,研究了一下出的什么错. 一个报错如下: PS C:\ ...

  3. eclipse中的yaml插件

    现在spring中推荐使用yaml格式的配置文件,扩展名为yml 在eclipse中编辑的话,可以安装yaml编辑插件,在Eclipse Marketpalce可以搜到两款: YEdit的推荐指数38 ...

  4. 问题解决java.lang.IllegalArgumentException at org.springframework.asm.ClassReader

    手上拿到一个老的项目,使用的是spring3.2,启动的时候报错了: 查了一下,发现spring3.2不兼容jdk8,只能使用jdk8以下的版本,使用jdk6可以启动,但是maven构建的时候又提示不 ...

  5. 为什么用svg放弃了iconfont?

    svg替代iconfont的好处(无论是基于Vue.Jquery),都推荐svg http://www.woshipm.com/pd/463866.html svg图标库,svg图标在线制作 http ...

  6. Shell脚本编程基础笔记二

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/8177697.html 一:输入 1:运行时参数 可以在启动脚本时,在其后输入参数. ./脚本 参数1 参数2. ...

  7. sql server 多表关联更新 update

    update a set a.KSMC = b.name from JC_KSXXB a inner join chisdb_ymyy..zd_unit_code b on a.KSDM = b.co ...

  8. 在Asp.Net MVC中使用Repeater控件

    使用Repeater控件在视图中展示图表信息,Repeater控件的使用概述: <asp:Repeater ID="Repeater1" runat="server ...

  9. 分享一个Godaddy的优惠码,可以优惠35%——2013-11-23

    国外的域名注册商就是好,还有优惠码,付费的时候贴上优惠码就能免相应的金额,不错. 在网上找的一个35%优惠的优惠码,可以买域名和主机.(主机就免了,有点贵,域名不错) 我买了个com域名,原本$12. ...

  10. 2D空间中求两圆的交点

    出处:https://stackoverflow.com/questions/19916880/sphere-sphere-intersection-c-3d-coordinates-of-colli ...