博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
棋牌游戏-后端架构(1)
阅读量:6694 次
发布时间:2019-06-25

本文共 586 字,大约阅读时间需要 1 分钟。

涉及技术:C++,PHP7,Swoole,

主要分为三大块,后面一块一块来讲。

1. 通讯网关

所有游戏Server均会主动注册和所有通讯网关建立连接,并监听协议,

每个Server均有一个独立的ServerID,客户端在选择游戏时,会在每条消息协议中增加此ServerID,告诉通讯网关消息往哪发。

涉及技术:C++\libevent实现异步消息处理转发,采用自定头+Protobuf协议。

细节:需要支持WebSocket及心跳处理。

 

2.Web

提供API接口,主要用于玩家登录、支付、活动、配置等。

涉及技术:Phalcon,PHP7,Redis消息队列,分表分库。

PS:一般业务操作基本都是先操作缓存,再通过消息队列写入Mysql数据库,提高并发能力,[不过现实中有点悲催,没量]

 

 

3.微服务模块,主要用于提供游戏Server和Web间共用数据,解除依赖。

基于Redis+mysql+消息队列进行数据高并发处理,利用云服务的负载均衡做分布式扩展。

主要涉及技术:Swoole+PHP7+Socket

 

注:Web和微服务之前的依赖代码,通过composer来管理实现共用。

简图:

 

近来无事,后面再根据时间,一块块来写写,也回顾复盘下,看看有什么改进的地方。

 

转载于:https://www.cnblogs.com/qingyi/p/10877286.html

你可能感兴趣的文章
BZOJ4766: 文艺计算姬(Prufer序列)
查看>>
ECMAScript 5 —— 单体内置对象之Global对象
查看>>
AGC 018E.Sightseeing Plan——网格路径问题观止
查看>>
174. Dungeon Game
查看>>
C语言标准库
查看>>
pip安装包
查看>>
hibernate5.x版本org.hibernate.MappingException: Unknown entity问题
查看>>
linux每日命令(18):whereis命令
查看>>
discuz的安装
查看>>
《算术探索》(高斯) 第14目
查看>>
Python模块——hashlib
查看>>
本周学习小结(18/03 - 24/03)
查看>>
猜数游戏
查看>>
关于 MVVMLight 设计模式系列
查看>>
用 js 写一个获取随机颜色的程序
查看>>
模块化开发之Amd规范和Cmd规范
查看>>
第19件事 财务分析
查看>>
python基础===open()文件处理使用介绍
查看>>
debounce与throttle区别
查看>>
StringList 自定义快速排序
查看>>