跳到主要内容

扩展性与灵活性

整个系统集成了多种服务,采用微服务架构模式而非分层式的单体结构。这使开发人员能够添加和修改相应服务之间的交互。这就是我们所说的"可扩展性和灵活性"。

1. 扩展的概念

image_16342824157312

当游戏在PGOS上运行时会触发一些事件,例如:

  • 玩家登录游戏时
  • 生成多名玩家的对战时
  • 对战结束并宣布获胜者时
  • ……

如果您关注特定类型的事件,可以使用任何编程语言(如 NodeJS、Python 和 Golang 等)编写云函数并订阅这些事件,这样当该类型的事件发生时就触发执行您的代码。系统还提供了 Webhook 机制,可以向指定的 URL 发起 HTTP 请求,这为将第三方系统或您自己的后台与 PGOS 集成提供了一种方式。这些功能被称为事件流和云函数系统。

事实上,事件流在 PGOS 内部被广泛使用,因此我们决定向所有开发者开放这一功能。

2. 云函数(Virtual Server)

image_16342811995562

云函数是 PGOS 路线图中的一个概念,它将开发者编写的云函数封装在容器中,并通过 PGOS 网关使游戏客户端可以访问这些函数。

使用云函数的目标是最大程度地减少部署游戏后端的工作量。在开发者需要编写后端代码来实现某些在线逻辑的场景中,这个功能特别有用。

3. 云函数存储

考虑到您可能需要为云函数存储一些数据,PGOS提供了云函数存储服务。云函数存储本质上是由云服务商提供的数据库(Redis/MongoDB等),PGOS将这些数据库封装成开箱即用的服务。创建云函数存储实例后,您的云函数可以直接访问它们。您还可以随时在PGOS门户上修改数据库规格,并通过在云函数系统中部署Prometheus Exporter来监控它们。