编辑: 黑豆奇酷 | 2019-07-06 |
8 baiy.cn 版权所有?:2015-2017,白杨,保留所有权利 Copyright?: 2015-2017, BaiYang, All rights reserved a BaiY product 分布式网游服务器集群概要设计 I 前言 有兄弟批评前言写的不好,那我就把谈情怀的部分删了,直接上干货吧... 本人在单服务器支撑千万量级 HTTP、TCP 并发的高效 IO 服务器构建,以及强一致、抗脑裂 (Split Brain)的多活 IDC 分布式高可用(HAC)和高性能(HPC)计算集群等方面有多年积累. 历经多家全球
500 强企业实际生产环境十几年考验. 在分布式算法、 UI 布局等方面拥有多个国家 和国际发明专利. 我从小学习编程的原动力来自于姚仙的《仙一》 (也想写一个那么棒的游戏……) ,一晃
20 多年,程序没少写,可游戏还是一点没做过~.在看到当今网游行业的服务器端单点性能普遍不 佳,并且其整体架构仍处于 分区分服,相互分割 的落后模式时,我觉得结合本人多年来在此 领域的积累,提供一套单点性能高,同时支持高性能(HPC)+高可用(HAC)的分布式网游服 务器集群解决方案,对我来说可能是一个不错的切入点,于是便有了此文. 写作此文的目的有二:一是为各路同行抛砖引玉,拓展思路,同时我也真诚地希望听到来自 游戏领域先辈们的反馈和建议;
二是希望以此为引,召唤到有志于踏踏实实开发出好游戏的小伙 伴们一起来做个好游戏 :-) 最后,我要感谢来自暴雪、完美、盛大、以及其它游戏开发团队的前辈们对本文的认真审评 和宝贵建议.也由衷希望能够继续听到更多来自各路游戏行业前辈的声音.同时,更欢迎想要一 起玩耍的前端同学联系我,我的 QQ、Email:[email protected],多谢 :-) 白杨,于2015 年底 a BaiY product 分布式网游服务器集群概要设计 II 版本控制 版本号 修改时间 修改内容 修改人 审阅者 1.0 2015-10-27 创建 白杨 1.1 2015-11-10 澄清一些细节 白杨 1.2 2015-11-24 新增 前言 小节 白杨 1.3 2015-12-21 更新一些数据 白杨 1.4 2016-01-22 调整部分小节顺序 白杨 1.5 2016-03-18 新增了 山寨防护 小节 白杨 1.6 2016-09-05 调整 前言 小节 白杨 1.7 2016-12-10 新增 3.2.3.3 基于 BYPSS 的高性 能集群 小节 白杨 1.8 2017-07-29 为 1.3 应用支撑平台 小节增加更 多描述;
个别内容增补 白杨 a BaiY product 分布式网游服务器集群概要设计 III 目录 前言.I 版本控制.II 目录.III 1. 概述.1 1.1 服务器单点性能.1 1.2 服务器集群.1 1.3 应用支撑平台.3 2. 设计目标.1 3. 关键设计考量.3 3.1 消息通信模式和性能调优.3 3.2 μSOA 架构.5 3.2.1 SOAvs. AIO
5 3.2.2 μSOA 架构.7 3.2.3 白杨消息端口交换服务(BYPSS)8 3.3 游戏逻辑优化.23 3.4 数据访问优化.25 3.4.1 数据存储优化.25 3.4.2 缓存访问优化.26 4. 系统总体架构.28 4.1 后端通用服务.29 4.1.1 结构化存储(RDB、NewSQL、NoSQL)服务
29 4.1.2 对象存储和 CDN 服务.29 4.1.3 分布式协调和消息分发服务.30 4.1.4 时间服务.30 4.1.5 标签(TAG)和全文搜索(FTS)服务
30 4.1.6 聚类和分类推荐服务.31 4.1.7 日志收集和分析服务.31 4.1.8 流量统计分析服务.31 4.1.9 大数据分析和处理服务.32 4.1.10 触发信息通知服务.32 4.1.11 网络监管和防御服务.32 4.1.12 CMDB 服务.33 a BaiY product 分布式网游服务器集群概要设计 IV 4.2 App 服务器集群.33 4.3 反向代理集群.34 4.4 客户端.35 5. 系统总体设计.36 5.1 网游服务基础平台.36 5.1.1 白杨应用支撑平台.37 5.1.2 基础服务群.40 5.2 可拔插业务模块.45 5.2.1 可拔插业务模块功能描述.46 5.2.2 可拔插业务模块设计框架.46 a BaiY product 分布式网游服务器集群概要设计