有状态服务和无状态服务的区别

有状态和无状态服务是两种不同的服务架构,两者的不同之处在于对于服务状态的处理。服务状态是服务请求所需的数据,它可以是一个变量或者一个数据结构。无状态服务不会记录服务状态,不同请求之间也是没有任何关系;而有状态服务则反之。对服务器程序来说,究竟是有状态服务,还是无状态服务,其判断依据——两个来自相同发起者的请求在服务器端是否具备上下文关系。

无状态服务

无状态请求,服务器端所能够处理的数据全部来自于请求所携带的信息,无状态服务对于客户端的单次请求的处理,不依赖于其他请求,处理一次请求的信息都包含在该请求里。最典型的就是WEB服务器。每次HTTP请求和以前都没有啥关系,只是获取目标URI。得到目标内容之后,这次连接就被杀死,没有任何痕迹,通过cookie保存token的方式传输请求数据。也可以理解为Cookie是通过客户端保持状态的解决方案。

有状态服务

有状态服务则相反,服务会存储请求上下文相关的数据信息,先后的请求是可以有关联的。例如,在Web 应用中,经常会使用Session 来维系登录用户的上下文信息。虽然http 协议是无状态的,但是借
助Session,可以使http 服务转换为有状态服务。

总结

有状态服务需要维护大量的信息和状态,在性能方面要稍逊于无状态服务器;无状态服务在处理简单服务方面有优势,服务之间没有联系,易于扩展,但处理复杂任务需要额外的组件来协助(以有状态服务的形式实现)。

有状态服务和无状态服务的区别相关推荐

  1. 有状态服务和无状态服务

    概念 服务一般分为有状态服务(Stateful Service)和无状态服务(Stateless Service).它们的区别是,当请求发起后,服务在服务端运行时是否需要关联上下文. 有状态服务,服务 ...

  2. (3) ebj学习:有状态bean和无状态bean区别

    1 区别 有状态bean : 客户端通过JNDI访问有状态bean, 服务端new该bean,并返回该代理对象 有状态bean : 客户端通过JNDI访问有状态bean, 服务端该bean是单例模式, ...

  3. mysql有状态无状态_k8s statefulSet 有状态应用和无状态应用区别

    一.定义: 无状态服务:就是没有特殊状态的服务,各个请求对于服务器来说统一无差别处理,请求自身携带了所有服务端所需要的所有参数(服务端自身不存储跟请求相关的任何数据,不包括数据库存储信息) 有状态服务 ...

  4. 状态服务器与无状态服务器(要点)

    对服务器程序来说,究竟是有状态服务,还是无状态服务,其判断依旧是指两个来自相同发起者的请求在服务器端是否具备上下文关系.如果是状态化请求,那么服务器端一般都要保存请求的相关信息,每个请求可以默认地使用 ...

  5. EJB3.0框架实例----区分有状态bean和无状态bean

    1.通过这个例子可以区分,有状态bean和无状态bean中的数据会不会混淆; 2.一种取巧的做法是:在建立的客户端的工程上右键,选择build path--->把服 务端的EJB工程导入的,新建 ...

  6. JWT有状态登陆与无状态登陆

    单点登录与JWT JWT 全称: Json Web Token .作用: JWT 的作用是 用户授权(Authorization) ,而不是用户的身份认证(Authentication) .用户认证  ...

  7. 什么是有状态登录和无状态登录

    1.有状态登录 那缺点是什么? • 服务端保存大量数据,增加服务端压力 • 服务端保存用户状态,无法进行水平扩展 • 客户端请求依赖服务端,多次请求必须访问同一台服务器(如果集群了,相当于启动了多个t ...

  8. Java - 有状态bean和无状态bean

    有状态Bean和无状态Bean的本质区别:声明周期 1. 前言:EJB EJB:称为企业Java beans,是基于分布式事务处理的企业级应用程序的组件. Sun公司发布的文档中对EJB的定义是:EJ ...

  9. 有状态bean与无状态bean

    在学习bean的作用域的时候,了解了这个问题. bean5种作用域:分别是:singleton.prototype.request.session.gloabal session 接下来就讲一下有状态 ...

最新文章

  1. MySQL基础篇:设置大小写不敏感
  2. P3374 【模板】树状数组 1
  3. idea里maven设置本地仓库报错原因
  4. ElasticSearch下载安装教程详解【7.10版本】
  5. MongoDB limit 选取 skip跳过 sort排序 方法
  6. JVM初识之垃圾回收机制(GC)
  7. 如何获取全国省市区行政边界数据
  8. 万字拆解欧莱雅:百年美妆帝国的数字化远征
  9. Drools规则引擎-如果Fact对象参数为null如何处理
  10. winedit注册码
  11. SpringCloud Gateway详解与配置
  12. 2022年暑期实习 PwC AC 普华永道信息技术 待遇+笔试+面试信息
  13. 脑机接口中的流形嵌入知识迁移学习
  14. 计算机注销之后一直黑屏,Win7旗舰版电脑注销完黑屏怎么解决?
  15. K-means 算法(基本用法)
  16. 1367:查找二叉树
  17. Domain or host
  18. 使用ZPL控制Zebra打印机
  19. Linux 虚拟机实现全局代理
  20. 结对-象棋游戏-设计文档

热门文章

  1. 推介几款 windows 下非常好用的工具
  2. ‘\\xe6\\xad\\xa3\\xe5\\xb8\\xb8‘ 双反斜杠转中文问题 in python
  3. python画分布、密度等图形
  4. Win7或是过渡品Win8前瞻消息全预览
  5. 北风网 从C++起步到MFC实战VC++软件工程师高端培训(服务器...
  6. 利用java socket和sampled实现点对点即时语音通信
  7. 教您用EasyRecovery16快速下载安装及使用恢复数据方法
  8. 疫情期间网民情绪识别
  9. 13种 Drawable
  10. HTTP File Server一款http服务器软件