上一篇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。