当前位置: 首页 > 知识库问答 >
问题:

编程中“有状态”一词的含义

明财
2023-03-14

有状态一词是什么意思?

我听过我的同事谈论有状态的Web服务,服务有状态是什么意思?

许多人说无状态Web服务意味着更好的性能和可扩展性,为什么?

共有1个答案

逄烨
2023-03-14

有状态web服务能够记住调用之间的数据,通常使用成员变量或您所拥有的其他变量

如果您看到像getNextFoogetMONtBar或类似的方法,它可能是一个有状态的服务。相反,无状态服务是客户端需要提供调用所需的所有信息的服务——每次。

有状态服务通常比无状态服务更难开发和扩展。它要求服务器为特定用户会话保留一段时间的状态。在多台服务器之间共享该状态甚至更难(如果您需要多台服务器)。在服务器故障转移/重启的情况下,如果使用无状态服务,客户端可能不会受到影响,但有状态服务可能会出现问题。

 类似资料:
  • 许多人说无状态webservices意味着更好的性能和可伸缩性,为什么呢?

  • 主要内容:1.算子状态概述,2.算子状态 编程案例,3.状态持久化和状态后端,4.状态编程总结1.算子状态概述 1.1 算子状态分类 算子状态: 列表状态, 联合列表状态, 广播状态 ListState, UnionListState, BroadcastState 1.2 状态分析 列表状态: 与 Keyed State 中的 ListState 一样,将状态表示为一组数据的列表。与 Keyed State 中的列表状态的区别是:在算子状态的上下文中,不会按键(key)分别处理状态,所以

  • 主要内容:1.Flink 中的状态,2.按键分区状态 (keyed state),3.状态生存时间 Ttl,4.状态一致性说明1.Flink 中的状态 1.1 状态管理 状态的访问权限。我们知道 Flink 上的聚合和窗口操作,一般都是基于 KeyedStream的,数据会按照 key 的哈希值进行分区,聚合处理的结果也应该是只对当前 key 有效。然而同一个分区(也就是 slot)上执行的任务实例,可能会包含多个 key 的数据,它 们同时访问和更改本地变量,就会导致计算结果错误。所以这时状态

  • 主要内容:1.State分类,2.算子状态(Operator State),3.键控状态(keyed State),4.状态后端(state backends),5.状态编程1.State分类 首先是分为托管状态和原始状态, 托管状态指的是状态交给Flink去管理 托管状态分为算子状态和按键分区状态 一般我们用的就是按键分区状态, 可以支持的数据类型为值状态, 列表状态, 映射状态, 归约状态, 聚合状态 State[ValueState、ReadOnlyBroadcastState、MapSt

  • 我是新来的,你能告诉我这是什么意思吗? 我知道语法条件?cond_true: cond: false,但我不知道

  • 在使用CPU的高负载应用程序上进行线程转储,我看到很多线程处于这种状态: “ajp executor threads-XXXXXX”prio=10 tid=0x00002b04b8b33801 nid=0x5327可运行[0x0000000000000000]java。lang.Thread。状态:可运行 对我来说,真正奇怪的是根本没有堆栈跟踪,ajp线程的总数高于配置的最大线程数(见下文) 当应