我想要异步消息的速度,但仍然有一些流量控制。我怎样才能在 Erlang 中做到这一点?
最佳答案
目前没有进程内存限制——它在邮件列表等上进行了讨论。你可以查看那些线程。
从好的方面来说,当您使用像 gen_server 这样的 OTP 模式实现时,您可以自由地从进程队列中检索消息并测量队列的长度。
rabbitmq 中使用的 gen_server2 用于通过将消息移动到内部数据结构来优化它。
当内部队列太长时,您可以丢弃任何新的传入消息。
您可以静默执行此操作,也可以通知发件人邮件被拒绝。
所有这些都处于非常低的水平。
RabbitMQ 将在 AMQP 级别提供此功能。
关于asynchronous - 如何在 Erlang 中创建内存绑定(bind)消息队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16838995/