读书笔记-stateless的意义

书:《java concurrency in practice》

前段时间提交了一个thread unsafe的代码,部署到production之后,后果很严重。而且我还在休假中,幸好同事们及时fix。

这几天在看以上的书,补一补基础知识。看着看着,突然对stateless有更多的理解。

一开始的时候,所有的program都是single thread的。一个request执行完,另一个等在queue里的request 迎上去。request的处理是分时的,variable没有必要stateless。后来硬件的发展及各种需求的增长,multi thread成了可能。在这种情况下,最基本的问题是thread之间的data sharing。临时的共有variable的access可以有lock来实现。需要persist的data写入数据库store。

以上数据的persistence是能从stateful转到stateless的关键,也使得现在的后端services能够真正地scalable。