kubernetes:有状态服务,无状态服务

本文详细介绍了无状态应用与有状态应用的区别,无状态应用不保存客户端数据,每个会话独立;有状态应用则保存并使用客户端数据。文章还探讨了在Kubernetes集群上如何实现这两种服务类型。

背景:
我们经常听到部署服务的时候是有状态的还是无状态的,那么到底这两种服务该怎么区分呢?具体怎么用呢?
知识点:

**无状态应用(Stateless Application)**是指应用不会在会话中保存下次会话所需要的客户端数据。每一个会话都像首次执行一样,不会依赖之前的数据进行响应。

**有状态的应用(Stateful Application)**是指应用会在会话中保存客户端的数据,并在客户端下一次的请求中来使用那些数据。
无状态的服务器程序,最著名的就是WEB服务器。每次HTTP请求和以前都没有啥关系,只是获取目标URI。得到目标内容之后,这次连接就被杀死,没有任何痕迹。在后来的发展进程中,逐渐在无状态化的过程中,加入状态化的信息,比如COOKIE。服务端在响应客户端的请求的时候,会向客户端推送一个COOKIE,这个COOKIE记录服务端上面的一些信息。客户端在后续的请求中,可以携带这个COOKIE,服务端可以根据这个COOKIE判断这个请求的上下文关系。COOKIE的存在,是无状态化向状态化的一个过渡手段,他通过外部扩展手段,COOKIE来维护上下文关系。
在k8s集群上的用法
如果我们是专门仅仅讨论K8s的deployment和statefulset,那么和会话保持是没有什么关系的,我们完全可以创建一个web的deployment然后暴露为service的时候加上诸如sesionaffinity=clientip的方法来实现会话保持;又或者通过nginx ingeess来做暴露时的会话保持
我们也可以通过statefulset来实现
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值