首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建有状态微服务的最佳方法(实践)是什么?

问创建有状态微服务的最佳方法(实践)是什么?
EN

Stack Overflow用户
提问于 2018-08-01 07:07:41
回答 2查看 341关注 0票数 1

我需要创建一个食品订购服务,使用微服务,可伸缩,集群,几个步骤来订购。需要在步骤/请求之间存储用户数据。

保存状态和用户数据的方法是什么?是否将其存储在数据库中?缓存?共享内存?有没有关于它的最佳实践的教程?

(我将使用spring / springboot和模块)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-01 15:15:03

任何你不能丢失的东西(通常是业务数据)都会放在DB中,并且可以并行地缓存在内存中的DB中,比如Redis,它内置了缓存回收算法。

任何东西,如果丢失了,都不是什么大问题(通常是与业务数据没有直接联系的技术内容),只能放在内存中的DB中。

由于您使用的是Spring,因此您可能会将Redis与Spring Data Redis结合使用。已经有一些已知的Spring解决方案(例如this)可以在Redis服务器宕机时依靠api调用从DB获取数据。您还可以在Redis Sentinel后面运行多个Redis实例来提供故障转移。Redis集群提供了一种运行Redis安装的方法,其中数据会自动跨多个Redis节点进行分片。此外,您还可以将Redis配置为每天将文件系统中的数据持久化一次,以备份缓存数据以进行容灾。

票数 2
EN

Stack Overflow用户

发布于 2018-08-02 17:21:40

如果您正在寻找完全托管的服务,亚马逊网络服务提供了“步骤功能”来满足您的有状态要求:https://stackoverflow.com/questions/tagged/aws-step-functions

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51623293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档