heartstill

博客园 首页 新随笔 联系 订阅 管理

第3章伸缩性架构设计
  3.1简介

  交互行为使得这类系统基础设施的伸缩性问题变得更复杂,Darkstar项目是对这些游戏和虚拟世界创建者的需求挑战的回答。这个项目由Sun公司实验室的一个研究小组承担,它将在架构的伸缩性领域不断探索.
  3.2背景

  这种应用需要能够从很小的系统开始.然后随着用户数的增长而增加处理能力.最后随着大家对游戏兴趣的衰退而降低
处理能力.这与分布系统的特点相符,在分布式系统中,我们可以随着请求增长而添加(合理的小)机器,当请求下降时移走机器.所以我们从一开始就知道,总体架构必须是一个分布式系统。MMO和虚拟世界应该是多桉芯片和分布式系统的理想候选者。

  3.2.1首要目标

    该架构的首要目标.对伸缩性的需求表明,系统应该是分布式的、并发的,但我们需要为游戏开发者提供简单得多的编程模型。简而言之,目标就是游戏程序员应该把该系统枧为一台单机,运行着一个线程,所有允许部署到多线程和多计算机上的机制都应该由Darkstar项目的基础设施来考虑

  3.2.2游戏世界

    MMO和虚报世界的环境始于一个非常胖的客户端;大多数任务只访问服务器上少量的状态数据,但在它们访问的数据中,大约一半会被改写.

  3.2.3延迟是敌人

    在企业环境中,目标是管理业务,如果总吞吐量得到改进,在处理中有一点延迟是可以接受的.在MMO和虚拟世界的环境中,目标是开心,而延迟是开心的敌人.所以MMO或虚拟世界的基础设施需要围绕着尽可能限定延迟的需求来设计,即便以吞吐量为代价也在所不惜,
  3.3架构

  Darkstar项目提供的一些基本服务很像经典操作系统的服务,它们支持游戏或虚拟世界的服务器端访问持久存储,调度并执行任务,与游戏或虚拟世界的客户端进行通信.

  3,3.1宏观结构

  3.3.2基本服务

    基本的服务就是‘数据服务‘(Data Scrvice),游戏或虚拟世界用它来保存、读取和操作所有持久数据.

    第二个栈层面的服务是‘任务服务’(Task Scrvice),它用于调度或执行任务.

  3.3.3通信服务

  3.3.4任务的可移动性
  3.4关于架构的思考

  3.4.1并行与延迟

  3.4.2赌未来

    构建一个以多线程为中心的架构,将来的芯片设计将集中向更多的核发展

  3.4.3简化程序员的工作

    在支持多线程、分布式游戏产品的同时,为程序员提供一个单机单线程的开发模型.

posted on 2011-01-06 17:10  开始测试  阅读(315)  评论(0编辑  收藏  举报