网络游戏分布式架构
简易网络游戏分布式架构图一、核心架构图(概览)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778┌─────────────────────────────────────────────────────────────────────────────┐│ 客户端层 (Client Layer) │├─────────────────────────────────────────────────────────────────────────────┤│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ││ │ 手游 │ ...
Redis分布式锁
Redis 详解:从入门到精通一、Redis 到底是什么?一句话定义:Redis(Remote Dictionary Server)是一个超高性能的内存数据库,同时支持数据持久化。 通俗比喻: 传统数据库(MySQL) = 图书馆(数据在硬盘,找书慢但容量大) Redis = 你的办公桌(数据在内存,随手就拿,但桌子大小有限) 二、Redis 的核心特点1. 内存存储 - 极速读写123# 对比测试:Redis vs MySQLMySQL读取: 5-10毫秒 # 需要磁盘I/ORedis读取: 0.1毫秒 # 内存直接访问,快50-100倍! 2. 丰富的数据结构不只是简单的 key-value,还有: 字符串(String) 哈希表(Hash) 列表(List) 集合(Set) 有序集合(Sorted Set) 等等… 3. 持久化可选1内存数据 → 定期保存到磁盘 → 重启后可以恢复 4. 单线程架构12一个线程处理所有请求 → 无锁竞争 → 超高并发性能(实际是多路复用,非多线程) 三、Redis...
K8s
棋牌捕鱼类游戏工作项目中用到
分布式与微服务
当你选择微服务架构时,你就是在主动选择一个分布式系统。 因为微服务被拆分后,必然要部署到不同的进程、不同的机器上,它们必须通过网络进行通信和协作。所以,微服务架构是分布式系统的一种具体实现形式和应用场景。
通讯协议
这是一个非常专业的问题!在游戏网络通信中,除了最基础的TCP和UDP,还有一系列建立在它们之上的应用层协议和技术方案。游戏开发者会根据不同需求混合使用这些协议。 下图清晰地展示了游戏网络协议的技术全景与选择逻辑: flowchart TD A[游戏网络通信需求] --> B{核心传输层选择} B --> C[TCP<br>可靠有序<br>但延迟高] B --> D[UDP<br>延迟极低<br>但不可靠] B --> E[QUIC/HTTP3<br>可靠且低延迟<br>Web/手游新贵] D --> F[在UDP上构建自定义协议] F --> G[可靠性层<br>(类TCP功能)] F --> H[快照/状态同步<br>(FPS/RTS)] F --> I[输入/指令同步<br>(动作游戏)] F -->...
游戏流程
游戏流程:
Mermaid
mermaid在线编辑器 推荐下面的方式:在Mermaid 在线编辑器绘制图标,完成后点击下方的【复制 Markdown】,将链接粘贴到md文档就可以预览,点击图表也能跳转到Mermaid继续编辑,不过修改完后你需要重新手动更新链接。Mermaid还可以团队协助一起编辑,这个要使用国际版国际版还支持Playground-more featureS, no account required,点击【Playground】可以直接鼠标创建完成绘制图标像xmind一样,不用手敲语法;可以分享协同编辑,文档存于账户中,链接虽然也不是固定的,但是内容是同步的。 注意 :点击【复制 Markdown】生成的链接是根据内容来动态改变的,内容被封装在链接中,所以每次改动图表内容都会改变链接地址,所有引用旧地址的都需要手动更换地址不然访问的内容还是原来的。
Lua语法检测工具文档
Lua语法检测工具文档工具概述Lua语法检测工具是一个Unity编辑器扩展工具,用于批量检查指定目录下所有Lua脚本的语法正确性。该工具通过创建Lua虚拟机环境,尝试加载每个Lua文件来验证其语法是否合法,帮助开发者在早期发现潜在的语法错误。 功能特性 批量扫描指定目录下的所有Lua文件 使用原生Lua虚拟机进行语法验证 显示详细的错误信息,包括文件路径和具体错误描述 支持递归扫描子目录 提供简洁直观的GUI界面 使用说明安装与启动 将脚本放置在Unity项目的Editor文件夹下 在Unity编辑器中,通过菜单栏选择 Tools/lua语法检测...
Prefab文本组件管理工具文档
Prefab文本组件管理工具文档工具概述Prefab文本组件管理工具是一个Unity编辑器扩展工具,专门用于批量管理和清理预制体(Prefab)中的文本组件内容。该工具能够扫描指定目录下的所有预制体,查找并管理UGUI Text、RichText和TextMeshPro(TMP)文本组件,支持查询非空文本组件和批量清空文本内容。 功能特性 批量扫描:递归查找指定目录下的所有预制体文件 多类型支持:同时支持UGUI Text、RichText和TextMeshPro(TMP)组件 文本查询:查找并列出所有包含非空文本的组件 批量清理:一键清空所有文本组件内容 详细报告:提供操作过程和结果的详细输出 进度显示:可视化进度条显示处理进度 使用说明安装与启动 将脚本放置在Unity项目的Editor文件夹下 在Unity编辑器中,通过菜单栏选择 Tools/文本组件管理...
多语言文件批量对比工具文档
工具概述多语言文件批量对比工具是一个Unity编辑器扩展工具,用于批量扫描和对比游戏中的多语言Lua文件,检查不同语言版本之间的键值一致性。该工具能够自动识别同名语言文件组,并对比各组文件中键的差异,帮助开发者快速发现多语言文件中的缺失或多余键值。 功能特性 批量扫描指定目录下的所有Lua语言文件 自动按文件名分组多语言文件 对比同组文件中键值的差异 显示缺失键和多余键的详细报告 支持嵌套表结构的键值对比 提供简洁直观的GUI界面 使用说明安装与启动 将脚本放置在Unity项目的Editor文件夹下 在Unity编辑器中,通过菜单栏选择 Tools/多语言文件批量对比 打开工具窗口 界面说明工具窗口包含以下主要部分: 路径选择:显示和修改语言文件所在目录(默认为Assets/_GameCenter/ClientLua/Model/Language) 扫描对比按钮:点击后开始扫描指定目录并对比文件 结果展示区域:显示对比结果的详细信息 操作步骤 确认或修改语言文件目录路径 点击”Scan and Compare All Language...