深入理解 Docker 镜像
深入理解 Docker 镜像:从概念到本质一、镜像到底是什么?1. 官方定义 vs 通俗理解官方定义: Docker 镜像是一个只读的模板,包含创建 Docker 容器所需的完整文件系统和配置。 通俗比喻: 概念 类比 说明 Docker 镜像 游戏的安装光盘 包含完整的游戏文件,但不能直接运行 Docker 容器 安装后的游戏 可以运行的游戏程序 Dockerfile 游戏制作说明书 说明如何制作这张光盘 Docker Registry 游戏商店 存放各种游戏光盘的地方 更贴近生活的比喻: 12345678910111. 你买了一个【乐高玩具盒】 → 这就是【镜像】 - 盒子里有:积木块(文件) + 说明书(配置) - 但不能直接玩,只是材料2. 你按照说明书拼装 → 这就是【运行容器】 - 拼出来的【乐高模型】就是【容器】 - 可以玩,可以展示3. 你拼了多个一样的模型 → 这就是【多个容器实例】 - 每个都是独立的 - 但都来自同一个玩具盒 2....
网络游戏分布式架构
简易网络游戏分布式架构图一、核心架构图(概览)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/文本组件管理...