网络游戏中的校正算法

回滚与重演算法 算法概述: 在回滚与重演(Rollback and Replay)算法中,客户端会在接收到服务器的权威状态时,将本地状态回滚到该权威状态,然后重新执行从该状态以来的所有操作。这种方法有效减少了预测误差积累导致的状态偏差。 实现步骤: 客户端将操作和状态以时间戳或逻辑帧编号为索引,存储在操作历史和状态快照中。 当服务器广播权威状态时,客户端回滚到与权威状态对应的快照。 从回滚后的状态开始,客户端重新执行存储的操作序列,以追赶到当前状态。 数据结构: • 状态快照栈:用于存储过去几帧的状态快照(如玩家位置、血量等)。 • 操作历史队列:用于存储每个逻辑帧上的操作记录(如移动指令、攻击指令)。 •...

1 minute read

性能之巅

性能优化方法:包括响应时间和吞吐量优化,以及基准测试、容量规划、垂直和水平扩展等方面的优化方法。 系统架构设计:包括分层架构、微服务架构、事件驱动架构、云原生架构等,以及它们的优缺点和适用场景。 操作系统和计算机体系结构:包括CPU、内存、缓存、磁盘、网络等硬件和操作系统相关的知识,以及如何优化它们的性能。 数据库和存储系统:包括关系型数据库、NoSQL数据库、内存数据库、文件系统等,以及它们的优缺点和适用场景。 分布式系统:包括分布式存储、分布式计算、分布式事务等,以及如何处理分布式系统中的并发和一致性问题。 云计算和容器技术:包括公有云、私有云、混合云等云计算部署模型,以及Docker、Kubernetes等容器技术的基本概念和使用方法。 网络和协议:包括TCP/IP协议、HTTP协议、WebSocket协议等,以及如何诊断和优化网络问题。 性能工具和监控:包括负载测试工具、性能监控工具、日志分析工具等,以及如何使用这些工具来诊断和解决性能问题。 安全和可靠性:包括如何保证系统的可用性、可靠性和安全性,以及如何应对各种安全和可靠性威胁。 DevOps和敏捷开发:包括DevOps和敏捷开发的基本概念、实践和工具,以及如何将它们与性能优化和系统设计相结合。 第一部分:性能指标与性能分析 第1章:性能指标和性能评估 第2章:性能分析的基础 第3章:性能基准测试 第一部分的重点是关于性能测量的基本原理和工具,涵盖以下几个方面:...

5 minute read

自动化生成测试用例

一、常见思路 基于模型的测试 (Model-Based Testing, MBT) • 思路:根据软件的行为模型(如状态机、流程图或使用UML图)自动生成测试用例。 • 优点:能够覆盖系统的各类状态和转换,适合复杂业务逻辑。 • 工具:GraphWalker、Spec Explorer 等。 基于代码的测试 •...

1 minute read

多人协同编辑器的CRDT

CRDT 在分布式计算中,无冲突复制数据类型(CRDT)是一种在网络中的多台计算机之间复制的数据结构,具有以下功能:[1] [2] [3] [4] [5] [6 ] [7] [8] 应用程序可以独立、并发地更新任何副本,而无需与其他副本协调。 算法(本身是数据类型的一部分)会自动解决可能发生的任何不一致。 尽管副本在任何特定时间点可能具有不同的状态,但保证它们最终会收敛。 CRDT 概念由...

1 minute read

深度学习的相关知识

深度学习 深度学习和机器学习是人工智能(AI)的两个关键领域,它们都有助于让计算机系统能够从数据中学习和做出决策。 机器学习 (Machine Learning) 机器学习是AI的一个分支,主要关注的是开发算法和模型,使计算机系统能够从数据中学习,而不需要明确的编程。机器学习的基本思想是通过数据来训练模型,然后使用该模型来预测或分类新的数据。 机器学习的类型: 监督学习 (Supervised Learning): 系统通过已经标记的数据(即已知输入和输出的样本)进行训练。常见的例子包括分类和回归任务。 示例:垃圾邮件过滤器(根据标记为垃圾邮件或非垃圾邮件的电子邮件进行训练)。 无监督学习 (Unsupervised Learning):...

2 minute read

定时调度

定时调度的应用场景非常广泛,例如: 新建的订单,如果用户在 15 分钟内未支付,则自动取消。 公司的会议预定系统,在会议预定成功后,会在会议开始前半小时通知所有预定该会议的用户。 安全工单超过 24 小时未处理,则自动拉企业微信群提醒相关责任人。 用户下单外卖以后,距离超时时间还有 10 分钟时提醒外卖小哥即将超时。 实现方式 DelayQueue Java的延迟队列 缺点:单点状态持久,无分布式...

2 minute read

Service Mash 与 Dapr

以下内容,转自InfoQ: 回顾:Service Mesh 原理和方向 Service Mesh 的定义 首先,让我们先快速回顾一下“Service Mesh”的定义,这是 Dapr 故事的开始。 以下内容摘录自我在 2017 年 10...

6 minute read

60s性能排查

You log in to a Linux server with a performance issue: what do you check...

12 minute read