首页 > 解决方案 > Actor Systems 如何防止队列中的内存溢出,同时防止线程阻塞写入队列?

问题描述

演员互相发送消息。如果队列是有限的,那么在尝试写入/发送到满队列时会发生什么?阻塞还是丢弃?如果它们不受限制,则可能会发生内存崩溃。多少是可配置的?

标签: erlangakkamessage-queuedistributed-computingactor

解决方案


Akka 中的默认邮箱没有限制,因此不会防止内存崩溃。但是,您可以将参与者配置为使用不同的邮箱,其中既有邮箱在达到最大大小时丢弃(传递给死信)消息,也有阻止(我不建议使用这些)的邮箱。您可以在此处的文档中找到 Akka 附带的所有邮箱实现:https ://doc.akka.io/docs/akka/current/typed/mailboxes.html#mailbox-implementations


推荐阅读