比如淘宝网购,你可以在电脑浏览器里把某个商品放入购物车,然后用手机淘宝app打开购物车下单,再然后通过ipad的淘宝应用完成付款。在这个购买过程中用了3个淘宝终端,但整个流程毫无影响,这就说明淘宝的购物车是无状态服务。
题主的描述里对无状态服务是有点模糊的。
大多数服务不大可能无状态,比如淘宝的订单服务,订单总有状态吧,比如未付款、未发货、已确认收获,之类的。
所谓的无状态服务,其实是指业务状态不存储在「单个服务器进程」的内存里,而是存放在「分布式、可扩展的外部存储服务」里。这里的外部存储服务是指redis集群或者mysql读写分离或者其他大规模存储服务。
对于「客户端连接服务器,并多次来回交互」的业务,判断是否是无状态的,就看:如果一个业务在执行到一半的时候,客户端断连后重连了,或者服务器进程重启了,或者客户端连接到另一个(同类型的)服务器进程,此时业务依然能正常执行后半部分,就好像一直是同一个服务器、同一个tcp连接在处理,这就是无状态服务。