天天看点

游戏服务器架构基本模块及其作用

1.网络通信:

               1.长连接   (建立连接后并完成通信后不断开)--->占用资源

                                   (游戏服务可用长连接)

               2.短连接     (建立连接在安成通信后断开)     --->不占用资源 (http属于短连接)

                             (注册,登陆,公告之类的连接可使用短连接)

2.网关服务:

                 1.暴露给客户端进行连接通信

                  2.权限验证

                  3.限流

                   4. 数据加解密

                   5.消息转发

                   6.负载均衡

                   7.连接管理 :  1.长连接  : 

                                                            1. 发心跳保持连接

                                                             2. 关闭空闲连接

                   8.协义转换: 

                                          1.mqtt

                                           2.rpc

                                           3.protobuf

                                           4. json

                                           统一转换为服务接口支持的一种协议

3.消息交互:

                 1.消息中间件:

                                    1.高性能

                                     2.低耦合

                                     3.发布与订阅

                                     4.异步

                                     5.限流

                                     6.一致性

                                      7.支持单点与集群

                                       ActiveMQ,Kafa,RabbitMQ,RocketMQ,Consul+Nats

4.业务处理:

                 1.消息管理

                                        1.同一用户请求放到同一消息队列

                                         2. 为每一个队列启动一个线程来处理队列消息(避免线程死锁)

                  2.线程管理

                                        1.使用线程池

                                        2.各模块线程池分开

                                             如:  游戏线程池---》处理游戏逻辑

                                                      数据线程池---》操作数据库读写数据

                  3.缓存管理

                                     1. redis 缓存数据到内存中

                  4.数据持久化

                                     2. mongodb

5.模块测试

继续阅读