微服务无状态设计原则

1. 什么是无状态服务

对于无状态服务,首先说一下什么是状态:如果一个数据需要被多个服务共享,才能完成一笔交易,那么这个数据被称为状态。进而依赖这个 “状态” 数据的 服务被称为有状态服务,反之称为无状态服务。

2. 微服务设计原则

  • 微服务要尽量做到无状态,这样可以横向扩展。

  • 无状态服务原则并不是说在微服务架构里就不允许存在状态,表达的真实意思是要把有状态的业务服务改变为无状态的计算类服务,那么状态数据也就相应的迁移到对应的 “有状态数据服务” 中。

  • 场景说明:例如我们以前在本地内存中建立的数据缓存、Session 缓存,到现在的微服务架构中就应该把这些数据迁移到分布式缓存中存储,让业务服务变成一个无状态的计算节点。迁移后,就可以做到按需动态伸缩,微服务应用在运行时动态增删节点,就不再需要考虑缓存数据如何同步的问题。

  • 微服务无状态设计原则_第1张图片

你可能感兴趣的:(容器技术,运维人生,微服务)