The My Opera forums have been replaced with forums.opera.com. Please head over there to discuss Opera's products and features

See the new Forums

[转]Ryzom服务架构

Forums » Ryzom » Ryzom Core

You need to be logged in to post in the forums. If you do not have an account, please sign up first.

Go to last post

3. November 2011, 04:16:42

li9chuan

Posts: 12

[转]Ryzom服务架构

Ryzom服务架构(Aervice Architecture)
(参考英文链接:http://dev.ryzom.com/wiki/ryzom/ServiceArchitecture


术语
服务器(Server):指物理服务器
服务片区(Shard):指Ryzom世界的一个实例。当前,Ryzom有三个服务片区,一个面向法语社区,一个面向德语社区,最后一个是面向说英语的人。所有的服务片区都是独立的,他们之间几乎没有任何网络连接。
服务(Service):一个服务指的是一个可执行程序,它在服务器上运行。例如,我们有一个用于管理AI的服务。我们也可以在Windows服务器和Linux服务器上创建不均匀分布的服务片区,因此一些服务在Windows上运行而另外一些则跑在Linux上。

Ryzom的架构是完全模块化的。在2004年,一个Ryzom服务片区需要8台服务器来运行,而现在由于计算机性能的飞升,一个这样的服务区在一台单独的服务器上就能够跑起来了。

Ryzom服务
以下是Ryzom的服务和简要介绍:

  • AES(启动管理服务):一台物理服务器只能有一个AES。它通过启动、停止、查询这台服务器上的的各种服务来管理服务区
    AS(管理服务):一个AS服务用于定位所有的AES,它是接收和发送AES指令的中心点。
    AIS(AI服务):一个服务区可以配置一个或这个多个AIS,这个服务的目的在于处理Ryzom世界中的人工智能(AI)。一个AIS负责一个地理区域,例如,在Ryzom中我们有6个AIS,一个大陆配置一个。
    BMS(备份管理服务):所有服务区配置有两个BMS(一个主服务和一个副服务)。他们管理诸如玩家角色、工会等数据的保存和加载,数据保存在特殊的文件格式之中。
    EGS(实体游戏服务):一个服务区配置一个EGS,它管理所有玩家的状态、运行游戏逻辑规则、任务、物品、工会等等,可以说它是一个中心服务!
    GPMS(全局定位管理服务):一个服务区配置一个,通过它能查询所有实体(包括玩家、NPC等等)的位置,它也负责碰撞检测。
    IOS(输入输出服务):一个服务区一个,管理所有的聊天、文本、本地化等操作。
    NS(名称服务):一个服务区一个,这是一个用于定位其他服务的底层服务。通过它可以查询那些服务启动了,各种服务的端口,就像黄页一样。
    WS(欢迎服务):一个服务区一个,用于登录过程,该服务检查玩家数据并路由玩家连接到空闲的FES。
    TS(时钟服务):一个服务区一个,这是一个用于管理游戏时间和同步其他服务的简单服务。
    MS(镜像服务):一台服务器配置一个。这个服务使用共享内存和网络通信来跨服务器同步数据,因此所有的服务都能够高效地访问所有需要数据。
    SU(区域统一服务):全局一个,用于管理牵涉多于一个区域的事务。例如,从一个区域传送玩家到另一个区域。这个服务也用于处理玩家登录。
    FES(前端服务):一个服务区可以配置一个或者多个前端服务。它是Ryzom客户端的接口,处理客户端的信息并且路由他们到合适的服务上。假如一个服务区配置了两个FES,那么客户端连接的量在两个FES上均分。
    SBS(会话浏览服务):和FES数量相同,用于管理各种会话(Session)事务(主要用于Ring系统)。
    PDSS(持久数据服务):该服务用于定期备份角色数据到磁盘文件,也用于提取某些统计和测试信息。

Forums » Ryzom » Ryzom Core