分两个层面,应用入IAAS,不强制要求应用无状态,有状态的应用也可以入云,但不能享受到弹性伸缩的便利性。数据库节点是有状态的,也是可以入云的。应用入PaaS,天生是要求弹性伸缩的,则必须要无状态。
应用无状态化,我觉得主要要考虑三个方面:
1、配置。如应用节点要访问数据库节点,一般要将数据库的地址或域名存在本地配置中。无状态化就需要将类似这样的本地配置集中存放到配置中心之类的地方。
2、Session。用户的会话信息一般要集中存放到缓存服务中。
3、日志。系统日志或应用日志生成后要自动保存到日志中心或日志服务器上。