akka.net - akka.actor.deployment 配置动态 routees.paths
问题描述
akka {
actor{
provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
deployment {
/user/OrderBookCoordinatorActor/OrderBookActor-* {
router = round-robin-pool # routing strategy
routees.paths = ["/user/OrderBookCoordinatorActor"]
nr-of-instances = 10 # max number of total routees
cluster {
enabled = on
allow-local-routees = on
use-role = crawler
max-nr-of-instances-per-node = 1
}
}
}
}
}
我有一个问题,我需要匹配动态演员。
我的代码应该是
var path = "akka.tcp://OrderBook@127.0.0.1:8082/user/OrderBookCoordinatorActor/OrderBookActor-{ticker}"
var actor = Context.ActorSelection(path);
actor.Tell(removeOrder);
但我想通过部署来实现这一点,而不总是输入整个 TCP。与 ActorSelection 一样
var actor = Context.ActorSelection("/user/OrderBookCoordinatorActor" + ticker);
actor.Tell(removeOrder);
但问题是我的 Ticker 是动态的,并且总是可以改变。如何使用部署配置来做到这一点?
解决方案
您正在寻找的是Akka.Cluster.Sharding,它允许将消息路由到不同节点上的参与者,而无需指定有关节点本身的任何详细信息。
推荐阅读
- c# - 在生成点实例化对象
- javascript - 如何在 jQuery 中使用长度属性
- javascript - 如何在不使用 Stripe 的 UI 层的情况下获取客户端令牌?
- batch-file - 如何在位于名称更改的文件夹中的命令提示符下打开文件?
- linux - 如何在 Linux POSIX shell 脚本中捕获 CTRL+Z;可能与否?
- python-3.x - 在python中打开一个只知道计算机上任何地方的扩展名的随机文件
- java - 文本转语音运行时如何启动语音识别器?
- dictionary - 在 Python 中更新嵌套字典的值
- python - 在多行的两个正则表达式模式之间输出文本
- python - 将具有相同 y 坐标坐标的坐标列出到列表中