1前端技术介绍

  1. Cocos2d

Cocos2d-x+lua 版本稳定,技术相对成熟,可以ios  adroid  pc三端打包,支持热更新,相关技术人员多,相对比较好招人。

Cocos Creator + js 现在触控官方主推的引擎,官方工具支持最完善,上手比较简单,目前版本在不断迭代,同时新版本对老版本兼容性差,可以ios  android  pc  web(h5) 四端打包,支持热更新,相关技术人员相对Cocos2d-x+lua少。

  1. Unity3d

2 后端技术介绍

2.1 服务器系统选择

windows 和 linux,windows系统本身比较大, 同样的硬件配置相对linux系统性能会底一些、 安全性上说linux 比 windows高、 集群维护linux工具比windows多,可维护性强等

所以选择linux,linux系统比较常见的就是ubuntu和redhat体系,ubuntu系统版本生命周期长(3-4年),如果过了生命周期,就没有安全补丁,服务器就有安全风险。 centos是redhat企业级源码中遵循开源标准编译释放出来,成本低同时也享受RHEL服务支持,现在比较稳定的最新版本是centos 7.xx

2.2 数据库

稳定、高性能、可持久化、尽量满足多的数据结构、方便运营维护

  1. Nosql

Redis: 内存数据库,支持string、 set、 list、 sortset、 hash数据结构, 单进程单线程,单个操作具有原子性(注意某一个操作响应过慢会影响整个redis的响应),可持久化(相对简单),支持集群,使用起来比较简单。

Mongo:内存数据库,可以支持复杂数据结构以及类似sql的操作语句,单进程多线程,单个操作不具有原子性,有一套复杂完备的持久化机制,支持集群,使用起来相对复杂。

Memcache:内存数据库, 支持简单的数据结构,不具有持久化机制。

.......................................................................................................................................................

  1. 关系型

Mariadb(mysql):开源,稳定,使用广,大家熟悉等

2.3  服务器引擎和语言

  1. 服务器引擎

自己研发:

如果有一套成熟稳定的自研框架,可以作为备选。

开源引擎:

开源框架基本都具有稳定、成熟、易用的特点,同时针对大部分业务功能都有成熟的解决方案。

Skynet: 底层c实现,提供完整的lua接口,业务层可以完全用lua开发。

Pomelo: 底层Node.js实现, 可以用js完成业务开发。

Kbengine: 底层c++实现,可以用python完成业务开发。

  1. 语言

比较重的c/c++ java等,开发效率底、容错底、对开发人员水平要求相对高。

比较轻的js、lua、python等,开发效率高、容错性高、对开发人员水平要求低。

  1. 框架技术选择

是否符合我们业务需求(承载能力、高稳定性、可维护性高、开发时间短等)?

是否符合我们现有技术的技术栈(学习成本低, 开发上手快)?

是否能够统一前后端技术?

是否使用群体广,还在维护期?

是否框架完成度高,周边功能完善?

........................................

2.4 协议

棋牌这类交互及时性要求高,同步简单的游戏基本都选择 tcp 长连接作为网络连接。在连接之上就是我们的协议:

Websocket (tcp建立后需要有一次http请求握手)

传统二进制数据流(包的前4个字节表示包体长度)

websocket协议相对传统数据流安全性要高很多,它可以利用掩码对消息体加密,在接入一些第三方doss和cc防护平台时使用websocket的成本会比传统socket协议低很多。

对于msghead消息体和具体协议消息体,目前比较广泛使用protobuf,首先protobuf提供的语言版本多,稳定、效率高,编解码以后协议包体小。另外,协议的向前向后兼容性好。

2.4 框架设计

基本思想:

  1. 简单
  2. 水平扩展
  3. 逻辑处理串行,无阻塞,异步
  4. Lock free

3 现有框架设计

  1. Centos 7
  2. Skynet+lua
  3. Redis+mariadb(mysql)做为游戏数据存储,mongo做为流水日子存储
  4. 客户端和服务器tcp长连接,protobuf作为协议编解码工具,websocket和传统二进制数据流都支持

3.1 架构设计图

  1. 框架核心业务图
  2. 框架总图

棋牌游戏前后端技术介绍相关推荐

  1. 一张图来看看.NETCore和前后端技术的演进之路

    一张图 2019年3月10日,在长沙.NET 技术社区组织的技术沙龙<.NET Core和前后端分离那些事儿>上,我们曾经试图通过一系列抽丝剥茧的过程来引导大家在这条基于.NET Core ...

  2. 从一张图开始,谈一谈.NET Core和前后端技术的演进之路

    从一张图开始,谈一谈.NET Core和前后端技术的演进之路 邹溪源,李文强,来自长沙.NET技术社区 一张图 2019年3月10日,在长沙.NET 技术社区组织的技术沙龙<.NET Core和 ...

  3. DMS前后端技术揭秘及最佳实践

    不同于一般的存储和计算产品,云上DMS上属于操作类产品,目的是为用户提供更高更强的数据库访问能力,减少成本以提高效率.本文中,来自阿里巴巴数据库事业部的钟隐分享<DMS前后端技术揭秘及最佳实践& ...

  4. 【初学者技术修炼】毕业生初学者学习前后端技术路线图

    [初学者技术修炼]毕业生初学者学习前后端技术路线图 1 序 2 路线图 2.1 搭建可交互的前端WEB界面路线图 2.1.1 静态页面构造 2.1.2 JavaScript学习 2.1.3 低代码平台 ...

  5. java前后端技术栈

    计划:先学习前后端基本概念,通过一个小项目熟悉流程,再阅读麻雀源码,参考修改. 文章目录 预期目标 麻雀研究 html概览 js解析 麻雀魔改 html CSS web MySql js AJAX V ...

  6. 【 Ecology9 】- 2 前后端联调介绍

    1 前端页面 以 Demo06完整增删改 为例: 配置路由地址: /main/cs/app/cc3645868cbd4397940e4784319c2701_baseTable 浏览器访问地址: /w ...

  7. 电脑端京东的我的订单html+css页面_互联网系统架构前后端分离技术体系

    点击「京东数科技术说」可快速关注 「摘要」随着互联网技术的发展以及终端设备的不断增多,前后端分离技术已成为移动互联网领域不可或缺的技术.前后端分离技术的不断完善,让前后端的分工与系统边界划分越来越清晰 ...

  8. b站 前端构架_技术干货:哔哩哔哩(B站)功能框架图 ——以B站为例分析面对秋招必须要掌握的前后端...

    本次夏令营知了堂项目经理以B站为原型,带着大家熟悉了软件的开发流程及还原了部分功能模块.现在就将B站功能架构图及前后端技术栈给大家.同时从以B站技术为例给大家分析作为应届毕业生,面对秋季校招时必须要掌 ...

  9. 棋牌游戏服务端开发和设计-苏劲-专题视频课程

    棋牌游戏服务端开发和设计-279人已学习 课程介绍         本门课程讲解棋牌游戏服务端的架构.数据库的设计.数据库异步存储.帐号管理.房间管理等棋牌游戏服务端的核心技术,有意向从事棋牌研发的同 ...

最新文章

  1. python课程多少钱一节课-日照少儿python编程一节课多少钱
  2. ie6/IE8/IE9/谷歌以及火狐等浏览器下li 高度一致解决办法
  3. echart 实例显示位置_技术分享:如何在Unity中使用实例化渲染?
  4. 系统安装操作优化:chapter4 多系统的安装与管理
  5. [codevs 1904] 最小路径覆盖问题
  6. coloros基于java_基于Android 11 ColorOS 11海外版亮点一图抢先看:9月24日国内发布
  7. 自己动手用C扩展PHP(三)
  8. Active Record 数据库迁移总结
  9. 2学习率调整_学习率衰减
  10. 0623TP框架联系
  11. 程序设计与算法----分治之归并排序
  12. Yii2 upload
  13. DL-based 多模态医学图像配准
  14. python的类,复现assert和eval成功失败原因
  15. 用雅虎邮箱再次注册微信个人订阅号
  16. mac 下 jkl 按键失灵
  17. AcWing 2041. 干草堆(一维差分)
  18. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GR
  19. 用latex写毕业论文--设置附录、参考文献、致谢环境
  20. 基于leaflet-velocity的二维动态风场展示

热门文章

  1. 调用短信、电话、邮件、Safari浏览器的系统API
  2. 使用计算机开机按啥建,学生计算器第一次使用应该如何开机
  3. 借着谈转正感想的时机,再聊聊外企和互联网公司的工作体验
  4. EF和Dapper之争的关键
  5. 完形填空生成器 1-1 打开文本框与提取文本字符
  6. 创业干货:在众说纷纭中找到前进的方向
  7. 【考研英语——刘晓燕语法、简单句和长难句笔记】
  8. ZDNS受邀出席腾讯云基础资源年会,分享《2020域名行业发展报告》
  9. 发送手机验证码,验证手机验证码,包括数据表的设计
  10. 淘宝客 WebView打开淘宝链接失败的解决方法