服务端每次都记录与之会话的客户端信息 , 从而识别客户端身份 , 根据用户身份进行请求的处理 ,比如Tomcat中的session. (MySQL也是有状态服务)
登录: 用户登录后 , client 的信息保存在server 的session中 , 给用户一个cookie值 ,记录对应的session , client 再次请求时 ,自身携带cookie ,我们就能识别对应的session 从而识别用户的身份.
有状态(stateful)的缺点
客户端每次想服务端发起请求 , 自己需要携带自描述信息 , 服务端通过这些信息识别 用户身份
无状态(stateless)的好处 :
两个来自相同的发起者的请求,在服务端是否有上下文关系 , 有则为有状态服务 ,无则为无状态服务
对于有状态服务,在做高可用的第一步,应该考虑如何做到共享存储
keso对中心化和去中心化的解释
中心化(Centralization)和去中心化(Decentralization)就是集权与分权,在互联网上,就是指从我说你听的广播模式,向人人有个小喇叭的广场模式转变。中心化的典型例子是门户网站,去中心化的典型例子是 blog、UGC、社交媒体等。很多人对去中心化有一些误解,比如说 Facebook、Twitter 等正在成为更集中的中心。去中心化不是说今后不再有大网站,也不是说大网站就一定是中心化的,去中心化主要是指技术对普通用户的赋权。另外,去中心化也不是人人绝对平等的意思,总会有人更善于利用技术赋予的可能性,有人则不善用或不在乎
目前多数为中心化服务(kubernetes依然为中心化服务), 去中心化服务较少 (如元宇宙 , 区块链)