是否有针对(游戏)服务器的 "serverless" 解决方案?
Is there a "serverless" solution for a (gaming) server?
我正在开发游戏 atm,并开始研究专用服务器的替代解决方案。
我这样做的原因是我对管理知识知之甚少,并且宁愿花时间在编程上而不是学习编程。特别是当涉及到专用机器本身的安全性而不是我的 运行 应用程序时。
所以我的问题是是否有可能有一个服务器,您可以在其中 运行 您编写的代码,例如在 golang 中,管理更少或更容易,安全性更好或相同?
如果当客户端想要在我的应用程序之外进行通信而不关心安全问题时,我只是获得到我的应用程序的端点连接,那将是完美的。
我查看了 aws 和 google 的一些服务(暂时未测试),但整个范围让我感到困惑。
游戏类型信息:
实时多人游戏
目前我使用TCP和Flatbuffer进行通信(这里TCP应该也可以)
server 是用 golang 编写的,客户端测试我使用 libgdx (java),但当我解决其他问题时可能会更改为其他内容
与服务器我的意思是逻辑是运行服务器端,客户端与数据库之间的通信是通过服务器
如果您真的想避免为您的软件维护服务器,请考虑对您的服务器软件进行 docker 化,并 运行 它在 AWS Fargate 上。它不一定比专用服务器便宜,但您不必维护任何基础设施或 OS.
简答,没有。
由于各种原因,无服务器架构不能很好地与 TCP 配合使用。第一个是 FaaS 的生命周期很短——使用套接字打开 TCP 连接会为该功能创建一个长生命周期,从而使其成本变高。
其次,BaaS 通常有几微秒的延迟,也不支持 TCP 连接。
但是你看,使用 BaaS,你可以开发一个 turn-based 多人游戏,因为延迟对这些类型的应用程序来说并不是那么重要。
我正在开发游戏 atm,并开始研究专用服务器的替代解决方案。 我这样做的原因是我对管理知识知之甚少,并且宁愿花时间在编程上而不是学习编程。特别是当涉及到专用机器本身的安全性而不是我的 运行 应用程序时。
所以我的问题是是否有可能有一个服务器,您可以在其中 运行 您编写的代码,例如在 golang 中,管理更少或更容易,安全性更好或相同? 如果当客户端想要在我的应用程序之外进行通信而不关心安全问题时,我只是获得到我的应用程序的端点连接,那将是完美的。
我查看了 aws 和 google 的一些服务(暂时未测试),但整个范围让我感到困惑。
游戏类型信息:
实时多人游戏
目前我使用TCP和Flatbuffer进行通信(这里TCP应该也可以)
server 是用 golang 编写的,客户端测试我使用 libgdx (java),但当我解决其他问题时可能会更改为其他内容
与服务器我的意思是逻辑是运行服务器端,客户端与数据库之间的通信是通过服务器
如果您真的想避免为您的软件维护服务器,请考虑对您的服务器软件进行 docker 化,并 运行 它在 AWS Fargate 上。它不一定比专用服务器便宜,但您不必维护任何基础设施或 OS.
简答,没有。
由于各种原因,无服务器架构不能很好地与 TCP 配合使用。第一个是 FaaS 的生命周期很短——使用套接字打开 TCP 连接会为该功能创建一个长生命周期,从而使其成本变高。 其次,BaaS 通常有几微秒的延迟,也不支持 TCP 连接。 但是你看,使用 BaaS,你可以开发一个 turn-based 多人游戏,因为延迟对这些类型的应用程序来说并不是那么重要。