首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Apache中使用状态是否有限制?

在Apache中使用状态是否有限制?
EN

Stack Overflow用户
提问于 2019-01-16 15:26:58
回答 1查看 358关注 0票数 1

Apache允许我在RichMapFunction中使用状态。我计划建立一个持续运行的作业,分析一个网络事件流。处理的一部分将是创建具有会话作用域度量的会话上下文(如会话的第n个、持续时间等),另外还要创建一个用户上下文。

会话上下文将在30分钟后超时,但用户上下文可能存在一年以处理返回的用户。

将有数以百万计的会话和用户,所以我将以数以百万计的个人状态结束。每个州的大小只有几KB。

  • 这是可以用Flink状态正确处理的东西吗?
  • Flink实际上是如何清除不受欢迎的状态的?
  • 考虑提供自定义后端以将状态存储在KV集群中是否有意义?
EN

回答 1

Stack Overflow用户

发布于 2019-01-16 16:24:19

对于大状态,我建议使用Flink的RocksDBStateBackend。此状态后端使用RocksDB存储状态。由于RocksDB优雅地溢出到磁盘,所以它仅受可用磁盘空间的限制。因此,Flink应该能够处理您的用例。

现在,您需要注册计时器来清理状态。但是,在下一个Flink发行版之后,社区将添加用TTL清理状态。这样,当状态过期时,它将自动清除。

使用持久化的周期性检查点使您的状态接近计算,这将使您的应用程序保持快速。如果每个状态访问都进入一个远程KV集群,它将大大减慢处理速度。

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

https://stackoverflow.com/questions/54220320

复制
相关文章

相似问题

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