如何实现Actor.Ask以一定速率控制数据流

2024-03-31

我使用了下面的方法,但它使用了大量的 CPU,所以我想使用 Actor.Ask 而不是下面的方法,任何人都可以帮助我如何使用 Actor.Ask

KafkaConsumer.PlainSource(
   consumerSettings, subscription)
     .RunForeach(result =>
      { 
          _ActorRef.Tell(result.Message.Value);
       }, materializer);

我之前的答案是通过回复流来让目标参与者背压,这是最可靠的方法。但由于 OP 表示他们的演员今天没有发回任何回复,因此还有另一种方法。

KafkaConsumer.PlainSource(
   consumerSettings, subscription)
     .Throttle(100, TimeSpan.FromSeconds(1), 100, ThrottleMode.Shaping)
     .RunForeach(result =>
      { 
          _ActorRef.Tell(result.Message.Value);
       }, materializer);

这将强制执行每秒 100 条消息的最大输出限制,一旦达到该阈值,该阶段将对 Kafka 施加背压,以保持较低的内存和 CPU 消耗。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何实现Actor.Ask以一定速率控制数据流 的相关文章

随机推荐

  • Python ftplib 损坏文件?

    我正在使用 ftplib 在 Python 中下载文件 直到最近一切似乎都工作正常 我正在下载这样的文件 ftpSession ftplib FTP host username password ftpSession cwd rlmfile
  • 在 Corda 中,节点的内置网络服务器上没有安装自定义 CorDapps。

    我定义了一个包含 API 的 CorDapp 但是 当我部署 CorDapp 并运行节点时 我在 Web 服务器 URL 上看到以下消息 No installed custom CorDapps 如何让节点的内置网络服务器加载我的 API
  • file_get_contents 创建一个空文件

    在 if 子句中用作测试条件时 如何防止 file get contents 创建空文件 不管怎样 都会创建一个空文件 这会导致后续调用不同方法中的 getimagesize 失败 问题是 当我设置代码时 第一次调用它时将确定保存图像或显示
  • PHP:preg_match_all首先匹配内括号?

    在 PHP 中 我有带有嵌套括号的字符串 bar foo test abc def bar foo 我需要一个与内部括号对匹配的正则表达式first 所以顺序是preg match all发现匹配的括号对应该是 abc def test a
  • 将 Zapier 自定义请求 Webhook 与 JSON Web 令牌结合使用

    我需要访问使用 JSON Web 令牌作为身份验证方法的 API 有没有一种好方法可以使用 python 代码步骤创建此令牌 然后将该令牌作为标头添加到自定义请求 Webhook 步骤中 我使用 API 进行身份验证的经验是使用简单的API
  • 我什么时候应该在sql server中使用表变量和临时表?

    我正在表变量中了解更多详细信息 它说临时表总是在磁盘上 而表变量在内存中 也就是说 表变量的性能比临时表更好 因为表变量比临时表使用更少的IO操作 但有时 如果表变量中的记录太多而无法容纳在内存中 则该表变量将像临时表一样放在磁盘上 但我不
  • 使用C#设置全局热键

    I need to capture a key press when my program is not in focus i e Ctrl Alt J and trigger an event in my program 到目前为止 我发
  • LINQ 查找大于/小于输入的最接近的数字

    假设我有这个号码列表 List
  • NTFS 提供哪些可靠性保证?

    我想知道 NTFS 为存储在其上的数据提供了什么样的可靠性保证 例如 假设我正在打开一个文件 追加到末尾 然后关闭它 并且在此操作过程中随机时间断电 我能找到完全损坏的文件吗 我这么问是因为我刚刚遇到了系统锁定 并发现其中两个正在附加的文件
  • Docker - 无法准备上下文:无法评估 Dockerfile 路径中的符号链接:GetFileAttributesEx

    我今天刚刚下载了适用于 Windows 10 64 位的 Docker Toolbox 我正在浏览教程 我在尝试使用 Dockerfile 构建映像时收到以下错误 Steps 推出 Docker 快速入门终端 创建后测试docker 按照
  • “自动打包存储库以获得最佳性能”是什么意思?

    我的 git 存储库有问题 在过去的几天里 每当我向服务器推送时 我都会收到此消息 自动打包存储库以获得最佳性能 并且它似乎不会消失并返回 shell 我还尝试签出一个新分支 然后对我之前的分支进行变基 然后执行git gc删除未使用的历史
  • 如何确定 NSDate 是否是工作日?

    我怎样才能知道是否NSDate是工作日吗 也就是说 根据用户当前的区域设置和日历设置是否是周末 所以不硬编码为周一到周五 NSCalendar has a firstWeekday财产 但这似乎只是一种表象 美国是周日 英国是周一 编辑 我
  • MySQL 分组依据/排序依据索引

    请参阅下面的查询 我应该在表上创建什么索引 以便查询将使用该索引并避免使用临时和文件排序 我尝试了许多不同的索引组合并阅读这里的建议 http mysqldba blogspot com 2008 06 how to pick indexe
  • 将 Unique-ids 传递给 Javascript 以实现水平滚动

    我正在尝试开发一个类似于 Netflix 的水平滚动界面 一切都显示并正常工作 但由于某种原因 Javascript 只滚动浏览索引页面中的第一个出版商书籍 当我尝试悬停和滚动任何其他出版商书籍时 它只会水平滚动第一出版商书籍 我知道 sc
  • 具有多个条件的 Linq where 子句

    此方法返回通用列表 但它有多个条件来获取选择 我只是用 if else if else if 来写这个 我的意思是这么多 if else 有没有更短的方法来做到这一点 谢谢 public List
  • 使用 HttpURLConnection 设置自定义标头

    我只是在做一个GET使用 Rest API 请求HttpURLConnection 我需要添加一些自定义标头 但我得到了null同时试图找回他们的价值观 Code URL url try url new URL http www examp
  • 使用指向单个值的指针作为数组

    请注意 该问题已针对 注册 变量进行了扩展 简而言之 我的问题是 这个合法的 C 代码是否合法 按照不同 ISO 9899 C 规范的标准字母 最好在标准的文字中加上 证明 int a 0 int b a 0 const int c 0 b
  • 如何在ajax请求中将带有formdata的数组发送到mvc操作

    我试图将带有表单数据的数组发送到带有 Ajax 请求的操作 但每当我这样做时 我都会收到表单数据和空数组 scope SubmitForm function var sLangs supportedLanguages data kendoM
  • D3 变更检测如何工作?

    如果我有一个 JSON 对象数组 D3 如何确定哪些进入enter set 如果我有一个对象数组 如下所示 var data label a value 1 label b value 3 label c value 2 然后我将它绑定到一
  • 如何实现Actor.Ask以一定速率控制数据流

    我使用了下面的方法 但它使用了大量的 CPU 所以我想使用 Actor Ask 而不是下面的方法 任何人都可以帮助我如何使用 Actor Ask KafkaConsumer PlainSource consumerSettings subs