无状态设计
无状态设计
单体条件下面,服务只有一个,因此状态每个时刻也就只有一种状态。在分布式集群环境下面,就存在一个状态同步问题,因此也有有状态服务设计和无状态服务设计。比如
-
无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库
) ,服务器本身不存储任何信息 -
有状态服务(stateful service)则相反,它会在自身保存一些数据,先后的请求是有关联的
有状态的服务,会有比较明显的缺点,服务间数据需要同步,成为副本关系,逻辑复杂也浪费资源;无状态的应用服务器,不保存上下文信息,只负责对用户的每次请求提交数据进行处理然后返回处理结果。无状态应用服务器之间是对等的关系,无依赖,请求到哪个服务器,处理结果都一样的。

对于高可用服务的构建要求来说,快速