zoukankan      html  css  js  c++  java
  • 棋牌游戏-后端架构(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来管理实现共用。

    简图:

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

  • 相关阅读:
    WebPlayer9电影整站系统第三方电影批量添加工具
    Delphi执行SQL提示“不正常地定义参数对象”,“提供了不一致或不完整的信息”错误
    IIS控制大全
    Redis慢查询日志
    Redis短结构
    分布式AKF拆分原则
    Redis分片
    Redis的bitmap从基础到业务
    什么是CAP?
    Redis面试题
  • 原文地址:https://www.cnblogs.com/qingyi/p/10877286.html
Copyright © 2011-2022 走看看