- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 akka.net 并可能会用它来替换我们传统的消息驱动应用程序的一部分。
基本上,我正在尝试让X 个节点加入集群。它是点对点类型,我可能会在一个节点上运行 X 数量的参与者(同一参与者)。
如果我有 10 个作业(比如 SendEmailActor),理想情况下,我希望这 10 个作业中的每一个都在不同的节点上执行(平均分配负载)。
我有一个非常简单的控制台应用程序要演示。
using System;
using System.Configuration;
using Akka;
using Akka.Actor;
using Akka.Cluster;
using Akka.Cluster.Routing;
using Akka.Configuration;
using Akka.Configuration.Hocon;
using Akka.Routing;
namespace Console1
{
class MainClass
{
public static void Main(string[] args)
{
Console.Write("Is this the seed node? (Y/n): ");
var port = Console.ReadLine().ToLowerInvariant() == "y" ? 9999 : 0;
var section = (AkkaConfigurationSection)ConfigurationManager.GetSection("akka");
var config =
ConfigurationFactory.ParseString("akka.remote.helios.tcp.port=" + port)
.WithFallback(section.AkkaConfig);
var cluster = ActorSystem.Create("MyCluster", config);
var worker = cluster.ActorOf(Props.Create<Worker>().WithRouter(
new ClusterRouterPool(
new RoundRobinPool(10),
new ClusterRouterPoolSettings(30, true, 5))), "worker");
while (true)
{
Console.Read();
var i = DateTime.Now.Millisecond;
Console.WriteLine("Announce: {0}", i);
worker.Tell(i);
}
}
}
public class Worker : UntypedActor
{
protected override void OnReceive(object message)
{
System.Threading.Thread.Sleep(new Random().Next(1000, 2000));
Console.WriteLine("WORKER ({0}) [{1}:{2}]", message, Context.Self.Path, Cluster.Get(Context.System).SelfUniqueAddress.Address.Port);
}
}
}
我的 app.config 看起来像
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="akka" type="Akka.Configuration.Hocon.AkkaConfigurationSection, Akka" />
</configSections>
<akka>
<hocon>
<![CDATA[
akka {
actor {
provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
}
remote {
helios.tcp {
hostname = "127.0.0.1"
port = 0
}
}
cluster {
seed-nodes = ["akka.tcp://MyCluster@127.0.0.1:9999"]
}
}
]]>
</hocon>
</akka>
</configuration>
我想使用 HOCON 并设置 akka.actor.deployment,但我无法让它工作。我不太了解 routees.paths 及其与 actor.deployment/worker 的关系,以及 routees.paths 如何映射到 C# 中创建的参与者。
actor {
provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
deployment {
/worker {
router = roundrobin-pool
routees.paths = ["/worker"] # what's this?
cluster {
enabled = on
max-nr-of-instances-per-node = 1
allow-local-routees = on
}
}
}
}
另一个问题:使用 aka.net.cluster 是否可以“镜像”节点以提供冗余?或者 GuaranteedDeliveryActor(我认为它已重命名为 AtLeastOnceDelivery)是可行的方法吗?
最佳答案
感谢@RogerAlsing。
C# 行看起来像这样
var worker = cluster.ActorOf(Props.Create(() => new Worker()).WithRouter(FromConfig.Instance), "worker");
配置看起来像
akka {
actor {
provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
deployment {
/worker {
router = round-robin-pool #broadcast-pool also works
nr-of-instances = 10
cluster {
enabled = on
max-nr-of-instances-per-node = 2
allow-local-routees = on
}
}
}
}
remote {
helios.tcp {
hostname = "127.0.0.1"
port = 0
}
}
cluster {
seed-nodes = ["akka.tcp://MyCluster@127.0.0.1:9999"]
}
}
关于c# - 如何将 ClusterRouterPool 从 C# 转换为 HOCON 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33560574/
我正在使用 HOCON 配置日志消息,并且正在寻找一种动态替换占位符值的方法。 我知道 ${?PLACEHOLDER} 将读取环境变量并在 PLACEHOLDER 环境变量不存在时返回一个空字符串。
假设我有这样的配置: root { value1: 1 value2: 2 values { dynamic1 { static1: 10 sta
我在 SBT 下有多模块项目。 项目 A (图书馆)有reference.conf带有 A 的文件的配置参数。项目 A取决于 akka-actor库,它自带 reference.conf文件。项目 A
我正在使用类型安全配置,并且我正在寻找一种简单的方法来允许可选覆盖应用程序之间共享的配置文件中的属性。 假设我有 2 个应用程序,A 和 B。它们都使用模块 Z。它们都加载共享配置文件“shared.
在 Scala 研究应用程序中,我使用 PureConfig 的 ConfigSource.file() 方法加载一个 hocon 文件,该方法表示研究实验的默认配置。我用它来动态构建一批变体。在进行
我怎样才能结合application.con用于 lightben/typesafe 配置的 HOCON 格式文件 https://github.com/lightbend/config使用 grad
我已经设置了一个 Akka.Net 节点作为集群中的种子节点,我称之为前端,另一个节点我称之为后端。在前端节点中,我在代码中配置了一个集群路由器组,这使我可以将消息从前端发送到任何以“后端”角色加入(
我想从 HOCON (Typesafe Config) 文件中将以下配置读入 Kotlin。 tablename: { columns: [ { item: { type: intege
我有一个从 JSON 文件创建的 hocon 配置。我需要解析以下 hocon 并提取值 示例 hocon 文件:示例.json nodes=[ { host=myho
尚未找到缩进/自动套用格式的方法 HOCON配置文件。你在哪儿? 最佳答案 我相当确定 HOCON 没有 Emacs 主要模式。但它看起来与 JavaScript 类似,因此您可以通过将其添加到 .e
我有一个此处提到的配置 map-config{ key1 : [ list1, list2, list3 ], key2 : [ list4, list5 ],
我的一个网络服务返回以下 Java 字符串: [ { id=5d93532e77490b00013d8862, app=null, manufacturer=pearson
在 application.conf ,如果所述环境变量为空,我如何使用环境变量来设置值或默认值? 最佳答案 my.value="default" my.value=${?SOME_ENV_VARIA
我正在学习 akka.net 并可能会用它来替换我们传统的消息驱动应用程序的一部分。 基本上,我正在尝试让X 个节点加入集群。它是点对点类型,我可能会在一个节点上运行 X 数量的参与者(同一参与者)。
我正在尝试使用 Hocon 格式在 Vertx 中进行配置。我还为它添加了 maven 依赖项。 com.typesafe config
我想将 .conf 文件直接转换为 json,以便我可以将其传递给前端。有没有办法在 scala/play 中做到这一点?我现在走的路似乎非常麻烦: val conf: Configuration =
我想使用自动化来创建带有 python 3 脚本的 hocon 配置。我读到 lightbend ( https://github.com/lightbend/config ) 推荐 pyhocon
我是一名优秀的程序员,十分优秀!