容器应用的一个前提条件就是无状态应用,但是对于这个问题我觉得可以从两个层面去理解:
- 是不是一定要把所有的应用状态进行改造。我觉得大可不必,我们不是为了容器而容器,容器解决的是互联网应用的弹性伸缩和高频度发版。对于传统应用,其用户群体和应用本身的特点不一定适合容器,容器也不一定能给这些应用带来多么大的收益。例如银行的核心、信贷、柜面等系统。
- 对于状态的改造,我觉得大的改造方向可以从状态缓存改造思路入手,将所有应用的状态以一种可以保持的数据格式保存在缓存服务器集群上。目前可以实现类似功能的中间件及开源方案有一些,但是都需要根据自己的业务需求进行分析挖掘和改造。