栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

服务器的鱼和熊掌,有状态or无状态

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

服务器的鱼和熊掌,有状态or无状态

问题引入

如果我们刚开始新游戏项目的服务器开发,会遇到服务器状态选择问题,游戏项目是用有状态服务器还是无状态服务器?

是什么?

        服务器状态简单来说客户端的多次请求具有上下文关系。比如客户端登录后,后续请求其他业务时客户端不用再发玩家信息。

        从服务器状态角度来说,服务器分为有状态服务器和无状态服务器。

        有状态服务器就是在服务器端保存有关客户端的相关信息,方便该玩家的后续请求不用再发玩家的基础请求信息。比如玩家的基础信息(角色id,区服id)。在服务端保存客户端的一些信息,可以减少客户端传输的数据量。主要应用场景:游戏服务器。

        无状态服务器就是服务器不保存客户端的相关信息,客户端每次请求都需要带基础请求信息,比如玩家的角色id。客户端就可以将请求发送到任意一台服务器上,实现水平扩展。主要应用场景:web服务器。

怎么使用?

服务器是根据session来识别客户端的。

  • 对于有状态服务器来说,我们可以在服务端保存客户端session,服务端根据客户端session在缓存或者内存处拿到客户端基础信息。
  • 对于无状态服务器来说,不需要再服务端保存任何信息,客户端每次请求都是独立的。

扩展知识 有状态变无状态

游戏服务器最希望实现的功能就是服务器能够平滑升级,实现不停机维护。

服务器是否有状态根本在于是否会保存session,我们可以在公共存储的地方保存session,比如在redis中保存。在这种情况下,服务器不保存客户端状态,变成无状态服务器,可以做到水平扩展。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345557.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号