asynchronous - 如何在 Erlang 中创建内存绑定(bind)消息队列?

标签 asynchronous erlang message-queue flow-control

我想要异步消息的速度,但仍然有一些流量控制。我怎样才能在 Erlang 中做到这一点?

最佳答案

目前没有进程内存限制——它在邮件列表等上进行了讨论。你可以查看那些线程。

从好的方面来说,当您使用像 gen_server 这样的 OTP 模式实现时,您可以自由地从进程队列中检索消息并测量队列的长度。

rabbitmq 中使用的 gen_server2 用于通过将消息移动到内部数据结构来优化它。
当内部队列太长时,您可以丢弃任何新的传入消息。
您可以静默执行此操作,也可以通知发件人邮件被拒绝。

所有这些都处于非常低的水平。

RabbitMQ 将在 AMQP 级别提供此功能。

关于asynchronous - 如何在 Erlang 中创建内存绑定(bind)消息队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16838995/

相关文章:

javascript - 异步响应到javascript NodeJS中的循环

erlang - 使用 Erlang 的软实时应用程序

erlang - 具有精确键列表的模式匹配映射

java - MessageConsumer 不消费消息

java - 使用消息驱动 Bean 发生错误时将消息重新传递到队列

c - 如何防止不同子进程的打印重叠

node.js - 将 Q 与 Node-Mysql 结合使用

ruby-on-rails - Rails 后台/异步任务要求

Erlang - 如何连接位串

python - Django 中消息队列消费者放在哪里?