Metrics
0
Watch 86 Star 164 Fork 66

龙且 / AvalonJavaGPL-2.0

Sign up for free
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
基于Akka的高性能可伸缩的JAVA网络游戏服务器。简单的单服务器开发与集群开发的切换。使用Actor处理高并发。易于测试。服务的插件管理 spread retract

Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

Avalon

高性能,可伸缩的Java Tcp服务器架构

1.Avalon基于Akka构建的服务器核心。天生分布式基因便于横向拓展

2.网络部分使用Netty

3.服务器分为单服务器和多节点分布式服务。Akka使用版本2.40

Avalon单服务器模式

输入图片说明

在单节点模式下,和传统的单JVM开发游戏逻辑一样。服务器从客户端收到消息,让后可以根据消息的定义处理对应的逻辑。 我们在这样的模式下开发建议不要建立全局的管理器。注意Actor模式下,每个玩家都是独立的Actor。 处理消息的时候,对于自己的数据更改是线程安全的。如果有逻辑需要更改其他Actor的数据需要是用sendActorMessage方法。

ExampleServer为服务器事例项目。 当前结构完成单服务器部分。集群部分还有待调整。

集群模式 集群示意图

在集群模式中,上面的方块是网管服务器。网管服务器只接受来之客户端的网络数据。 并根据当时其当前的游戏服务器的负载情况,将数据转发到对应的逻辑服务器。 当前的模式下网管服务器会根据游戏服务器的网络会话数量,进行分发优先发送给会话少的服务器。 每个会话都会绑定到指定的游戏服务器。

class类的热替换 输入图片说明

开发讨论群:7871020

Comments ( 4 )

You need to Sign in for post a comment

Java
1
https://gitee.com/redeye/Avalon.git
git@gitee.com:redeye/Avalon.git

Help Search