知识卡片
运行时动态分组优于开发期硬编码的静态分区
内容
传统地理区域分解在开发阶段就切好世界写进代码分配固定服务器,难随玩法调整;Darkstar利用运行时信息,动态把频繁交互的玩家迁移到同一台服务器,像[[地理分区与分片各自用不同代价换取伸缩性|地理分区]]一样吃到局部性缓存好处,但分组关系可随运行情况实时调整。书中类比为编译时优化与运行时优化的区别。
参考来源
- 位置:《架构之美》第3章《伸缩性架构设计》3.4.1节《并行与延迟》(源文件:程序之美系列套装(6册)团队之美、项目管理之美、架构之美、数据之美、测试之美、安全之美/_epub-src/OEBPS/Text/part0123.xhtml)
- 结论依据:原文明确"目前的地理区域分解是在游戏开发过程中进行的,被编入源代码,放到服务器上。而我们的位置集中基于运行时的信息,可以根据游戏中发生的实际玩法和交互模式来实现动态调整。这类似于编译时优化和运行时优化之间的区别"。
- 原始内容:不同之处在于,目前的地理区域分解是在游戏开发过程中进行的,被编入源代码,放到服务器上。而我们的位置集中基于运行时的信息,可以根据游戏中发生的实际玩法和交互模式来实现动态调整。这类似于编译时优化和运行时优化之间的区别。