首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阿卡持久战滥用?

阿卡持久战滥用?
EN

Stack Overflow用户
提问于 2016-01-26 15:09:36
回答 1查看 178关注 0票数 2

使用akka持久性作为本地数据库是个好主意吗?如果服务器无法访问,我需要在本地存储数据,而我的应用程序构建在akka之上,因此使用akka-persistence听起来是最简单的方法。

数据中填充的速率约为每10秒一个记录的avg。不过,鉴于akka-持久性是为一些不同的东西而设计的,这听起来像是一种滥用。有什么问题我应该知道吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-28 12:50:11

首先,让我们看看akka-持久性的目的是什么:

Akka持久性使有状态参与者能够持久化其内部状态,以便在启动参与者、JVM崩溃后重新启动或由监控器重新启动或在集群中迁移时恢复该状态。Akka持久化背后的关键概念是,只有对演员内部状态的更改才会被持久化,但绝不会直接改变其当前状态。

如果存储的数据是参与者内部状态的一部分,那么它是否是“误用”呢?从post来看,这并不是完全显而易见的,只是简单地存储传入的消息,这样做可能更好,这是一个适当的消息队列。

为什么要存储数据呢?Akka-持久化需要一个底层数据存储,它可能与原来不可用的数据库相同或依赖于数据库。但是,每10秒有一条消息听起来并不可怕,只要数据库一次不能长时间使用。

还值得注意的是,仅仅引入本地缓冲区可能不足以应付不可靠的资源(请看一下断路器型式)。总是值得考虑的是,有一种机制,提供反压力,以通知生产者的状态下的‘流量’。然后,它可以作出一个明智的选择,做什么(放下,储存..。)。

当无法处理数据时,应在本地存储数据,但在这样做时应考虑到上述关切,因为可能有更合适的解决方案。

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

https://stackoverflow.com/questions/35017085

复制
相关文章

相似问题

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