Akka分布式计算应用

介绍Akka-Cluster前 需要先说一下Akka-Remoting.

Akka-Remoting一种ActorSystem之间Actor对Actor点对点的沟通协议.通过Akka-Remoting来实现一个ActorSystem中的一个Actor与另一个ActorSystem中的另一个Actor之间的沟通.在Remoting功能之后,Akka又发展了集群Cluster功能.
Akka-Cluster是基于Akka-Remoting之上的新一代分布式运算环境,所以Remoting已经成为了Akka-Cluster的内部支持功能,在生产环境中的分布式运算应该尽量使用Akka-Cluster; Akka-Cluster可以在一部物理机或一组网络连接的服务器上搭建部署.

简单来说Akka-Cluster将多个JVM连接整合起来,实现消息地址的透明化和统一化使用管理,集成一体化的消息驱动系统.最终目的是能够把一个大型程序分割成多个子程序,然后部署到很多JVM上去实现程序的分布式并行运算.更重要的是:Cluster的构建过程与Actor编程没有牵连,当Cluster把多个ActorSystem集合成一个统一系统后,我们可以用在单一ActorSystem里编程的习惯方式编写分布式运算程序.由于在单一机器上就可以配置多个节点形成一个集群,我们开发的分布式程序可以在单机或多机群上运行,不同的只是如何部署和配置集群环境.

工程结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@localhost akka-task ]$ tree akka-task
akka-task
├── pom.xml
├── src
│   └── main
│   ├── java
│   │   └── com
│   │   └── elonsu
│   │   └── cluster
│   │   └── akka
│   │   ├── Message.java
│   │   ├── client
│   │   │   ├── DispatchActor.java
│   │   │   └── TaskClusterClient.java
│   │   └── server
│   │   ├── TaskActor.java
│   │   ├── TaskClusterServer1.java
│   │   ├── TaskClusterServer2.java
│   │   └── TaskClusterServer3.java
│   └── resources
│   ├── akka-client.conf
│   ├── akka-node1.conf
│   ├── akka-node2.conf
│   └── akka-node3.conf

Maven依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-cluster_2.11</artifactId>
<version>2.5.9</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_2.11</artifactId>
<version>2.5.9</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-remote_2.11</artifactId>
<version>2.5.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.41</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
</dependency>

模块说明

消息相关

  • Message: 示例中客户端和服务端通讯的消息定义

服务端相关

  • TaskActor: 服务端事件处理类
  • TaskClusterServer* : 服务端实例主类(示例中定义了3台实例)
  • akka-node*.conf : 服务端配置

客户端相关

  • DispatchActor: 消息投递转发类, 用于对于服务端节点进行选取和消息投递
  • TaskClusterClient: 客户端示例主类
  • akka-client.conf : 客户端配置

代码示例(服务端)

示例中定义的服务端端端口分别为:2551、2552、2553

消息定义

说明: 消息定义必须实现序列化接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class Message implements Serializable{

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public static final class Task implements Serializable{

private long taskId;

private String content;

@Override
public String toString() {
return JSON.toJSONString(this);
}
}

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static final class Result implements Serializable {

private long taskId;

private String result;

@Override
public String toString() {
return JSON.toJSONString(this);
}
}

}

服务端配置

akka-node1.conf配置内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
akka {
loglevel = "INFO"

actor {
provider = "akka.cluster.ClusterActorRefProvider"
}

remote {
log-remote-lifecycle-events = on
netty.tcp {
hostname = "172.30.5.13"
port = 2551
}
}

cluster {
roles = ["server"]
seed-nodes = [
"akka.tcp://simpleAkkaCluster@172.30.5.13:2551",
"akka.tcp://simpleAkkaCluster@172.30.5.13:2552",
"akka.tcp://simpleAkkaCluster@172.30.5.13:2553"]
auto-down-unreachable-after = 5s
auto-down-unreachable-after = 5s
metrics.enabled = off
}

}

akka-node2.conf配置内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
akka {
loglevel = "INFO"

actor {
provider = "akka.cluster.ClusterActorRefProvider"
}

remote {
log-remote-lifecycle-events = on
netty.tcp {
hostname = "172.30.5.13"
port = 2552
}
}

cluster {
roles = ["server"]
seed-nodes = [
"akka.tcp://simpleAkkaCluster@172.30.5.13:2551",
"akka.tcp://simpleAkkaCluster@172.30.5.13:2552",
"akka.tcp://simpleAkkaCluster@172.30.5.13:2553"]
auto-down-unreachable-after = 5s
auto-down-unreachable-after = 5s
metrics.enabled = off
}

}

akka-node3.conf配置内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
akka {
loglevel = "INFO"

actor {
provider = "akka.cluster.ClusterActorRefProvider"
}

remote {
log-remote-lifecycle-events = on
netty.tcp {
hostname = "172.30.5.13"
port = 2553
}
}

cluster {
roles = ["server"]
seed-nodes = [
"akka.tcp://simpleAkkaCluster@172.30.5.13:2551",
"akka.tcp://simpleAkkaCluster@172.30.5.13:2552",
"akka.tcp://simpleAkkaCluster@172.30.5.13:2553"]
auto-down-unreachable-after = 5s
auto-down-unreachable-after = 5s
metrics.enabled = off
}

}

服务端Actor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public class TaskActor extends AbstractLoggingActor {

// 集群监听
private Cluster cluster = Cluster.get(getContext().system());

//subscribe to cluster changes
@Override
public void preStart() {
//#subscribe
cluster.subscribe(getSelf(), ClusterEvent.initialStateAsEvents(),
ClusterEvent.MemberEvent.class, ClusterEvent.UnreachableMember.class);
//#subscribe
}

//re-subscribe when restart
@Override
public void postStop() {
cluster.unsubscribe(getSelf());
}

@Override
public Receive createReceive() {
return receiveBuilder()
.match(Message.Task.class,
x-> {
log().info("[接收消息]:{}, Actor:{}, Thread:{}", x, getSelf().path(), Thread.currentThread().getName());
getSender().tell(new Message.Result(x.getTaskId(), x.getContent() + "处理完成"), self());
}
)
.match(ClusterEvent.MemberUp.class,
x -> log().info("Member is Up: {}", x.member())
)
.match(ClusterEvent.CurrentClusterState.class,
x -> log().info("Cluster State: {}", x.getMembers())
)
.match(ClusterEvent.UnreachableMember.class,
x -> log().info("Member detected as unreachable: {}", x.member())
)
.match(ClusterEvent.MemberRemoved.class,
x -> log().info("Member is Removed: {}", x.member())
)
.match(ClusterEvent.MemberEvent.class,
x -> log().info("ignore")
)
.matchAny(
x -> unhandled(x)
)
.build();
}

}

服务端主类

这里只列出Node1上的主类, 服务端节点中每个示例的内容基本一样,不同的是各自加载的配置文件"akka-node*.conf"与实例对应.

1
2
3
4
5
6
7
8
9
public class TaskClusterServer1 {

public static void main(String[] args) {
ActorSystem system = ActorSystem.create("simpleAkkaCluster", ConfigFactory.load("akka-node1.conf"));
ActorRef taskActor = system.actorOf(Props.create(TaskActor.class), "taskActor");
System.out.println("Akka Cluster Node1 启动完成" + taskActor.path());
}

}

集群状态监听

示例场景: 分别启动服务端节点Node1、Node2、Node3、然后关停Node2、再重新启动,观察集群状态日志

Node1日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
[INFO] [01/31/2018 11:45:06.365] [main] [akka.remote.Remoting] Starting remoting
[INFO] [01/31/2018 11:45:06.565] [main] [akka.remote.Remoting] Remoting started; listening on addresses :[akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 11:45:06.567] [main] [akka.remote.Remoting] Remoting now listens on addresses: [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 11:45:06.578] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Starting up...
[INFO] [01/31/2018 11:45:06.728] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Registered cluster JMX MBean [akka:type=Cluster]
[INFO] [01/31/2018 11:45:06.728] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Started up successfully
Akka Cluster Node1 启动完成akka://simpleAkkaCluster/user/taskActor
[WARN] [01/31/2018 11:45:06.765] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/cluster/core/daemon/downingProvider] Don't use auto-down feature of Akka Cluster in production. See 'Auto-downing (DO NOT USE)' section of Akka Cluster documentation.
[WARN] [01/31/2018 11:45:06.862] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2553
[WARN] [01/31/2018 11:45:06.862] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2552
[WARN] [01/31/2018 11:45:06.863] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-5] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2553-1] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2553]] Caused by: [Connection refused: /172.30.5.13:2553]
[WARN] [01/31/2018 11:45:06.863] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2552-0] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]] Caused by: [Connection refused: /172.30.5.13:2552]
[INFO] [01/31/2018 11:45:06.867] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#-113492512] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:06.867] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#-113492512] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:07.782] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#-113492512] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:07.782] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#-113492512] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [4] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:08.783] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#-113492512] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [5] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:08.783] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#-113492512] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [6] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:09.781] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#-113492512] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [7] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:09.781] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#-113492512] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [8] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:10.783] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#-113492512] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [9] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:10.783] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#-113492512] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [10] dead letters encountered, no more dead letters will be logged. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:11.792] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] is JOINING, roles [server, dc-default]
[INFO] [01/31/2018 11:45:11.802] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is moving node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] to [Up]
[INFO] [01/31/2018 11:45:11.806] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2551, status = Up)
[INFO] [01/31/2018 11:45:13.616] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/joinSeedNodeProcess-1#-138411316]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 11:45:13.616] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/joinSeedNodeProcess-1#-138411316]]
[INFO] [01/31/2018 11:45:13.662] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] is JOINING, roles [server, dc-default]
[INFO] [01/31/2018 11:45:13.664] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] ignore
[INFO] [01/31/2018 11:45:13.770] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is moving node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] to [Up]
[INFO] [01/31/2018 11:45:13.771] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Up)
[INFO] [01/31/2018 11:45:17.496] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon/joinSeedNodeProcess-1#-505101083]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 11:45:17.496] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon/joinSeedNodeProcess-1#-505101083]]
[INFO] [01/31/2018 11:45:17.523] [simpleAkkaCluster-akka.actor.default-dispatcher-23] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] is JOINING, roles [server, dc-default]
[INFO] [01/31/2018 11:45:17.523] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] ignore
[INFO] [01/31/2018 11:45:18.770] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is moving node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] to [Up]
[INFO] [01/31/2018 11:45:18.771] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2553, status = Up)
[INFO] [01/31/2018 11:46:45.977] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] ignore
[INFO] [01/31/2018 11:46:47.769] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is moving node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] to [Exiting]
[INFO] [01/31/2018 11:46:47.771] [simpleAkkaCluster-akka.actor.default-dispatcher-23] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] ignore
[INFO] [01/31/2018 11:46:48.776] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Exiting confirmed [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[ERROR] [01/31/2018 11:46:48.798] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2552-0/endpointWriter] AssociationError [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] -> [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]: Error [Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2552] [
akka.remote.ShutDownAssociation: Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2552
Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system terminated the association because it is shutting down.
]
[ERROR] [01/31/2018 11:46:48.798] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-6] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/endpointManager/endpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2552-2] AssociationError [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] <- [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]: Error [Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2552] [
akka.remote.ShutDownAssociation: Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2552
Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system terminated the association because it is shutting down.
]
[INFO] [01/31/2018 11:46:50.771] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is removing confirmed Exiting node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 11:46:50.772] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member is Removed: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Removed)
[INFO] [01/31/2018 11:46:57.342] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/joinSeedNodeProcess-1#-1328666486]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 11:46:57.342] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/joinSeedNodeProcess-1#-1328666486]]
[INFO] [01/31/2018 11:46:57.358] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] is JOINING, roles [server, dc-default]
[INFO] [01/31/2018 11:46:57.358] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] ignore
[INFO] [01/31/2018 11:46:57.769] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is moving node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] to [Up]
[INFO] [01/31/2018 11:46:57.770] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Up)

Node2日志

首次加入集群

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[INFO] [01/31/2018 11:45:12.982] [main] [akka.remote.Remoting] Starting remoting
[INFO] [01/31/2018 11:45:13.249] [main] [akka.remote.Remoting] Remoting started; listening on addresses :[akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 11:45:13.251] [main] [akka.remote.Remoting] Remoting now listens on addresses: [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 11:45:13.267] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Starting up...
[INFO] [01/31/2018 11:45:13.401] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Registered cluster JMX MBean [akka:type=Cluster]
[INFO] [01/31/2018 11:45:13.401] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Started up successfully
Akka Cluster Node1 启动完成akka://simpleAkkaCluster/user/taskActor
[WARN] [01/31/2018 11:45:13.433] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/downingProvider] Don't use auto-down feature of Akka Cluster in production. See 'Auto-downing (DO NOT USE)' section of Akka Cluster documentation.
[WARN] [01/31/2018 11:45:13.532] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2553
[WARN] [01/31/2018 11:45:13.536] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2553-1] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2553]] Caused by: [Connection refused: /172.30.5.13:2553]
[INFO] [01/31/2018 11:45:13.540] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/joinSeedNodeProcess-1#-138411316] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:13.770] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Welcome from [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 11:45:13.779] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2551, status = Up)
[INFO] [01/31/2018 11:45:13.779] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] ignore
[INFO] [01/31/2018 11:45:13.811] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Up)
[INFO] [01/31/2018 11:45:17.496] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon/joinSeedNodeProcess-1#-505101083]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 11:45:17.496] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon/joinSeedNodeProcess-1#-505101083]]
[INFO] [01/31/2018 11:45:17.780] [simpleAkkaCluster-akka.actor.default-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] ignore
[INFO] [01/31/2018 11:45:17.803] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#-1800037640] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:18.372] [simpleAkkaCluster-akka.actor.default-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon] Message [akka.cluster.GossipEnvelope] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon#-2084557458] to Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon#-53996821] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:45:18.776] [simpleAkkaCluster-akka.actor.default-dispatcher-25] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2553, status = Up)

断开后再次加入集群

1
2
3
4
5
6
7
8
9
10
11
12
13
[INFO] [01/31/2018 11:46:56.861] [main] [akka.remote.Remoting] Starting remoting
[INFO] [01/31/2018 11:46:57.054] [main] [akka.remote.Remoting] Remoting started; listening on addresses :[akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 11:46:57.055] [main] [akka.remote.Remoting] Remoting now listens on addresses: [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 11:46:57.069] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Starting up...
[INFO] [01/31/2018 11:46:57.184] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Registered cluster JMX MBean [akka:type=Cluster]
[INFO] [01/31/2018 11:46:57.184] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Started up successfully
Akka Cluster Node1 启动完成akka://simpleAkkaCluster/user/taskActor
[WARN] [01/31/2018 11:46:57.210] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/downingProvider] Don't use auto-down feature of Akka Cluster in production. See 'Auto-downing (DO NOT USE)' section of Akka Cluster documentation.
[INFO] [01/31/2018 11:46:57.375] [simpleAkkaCluster-akka.actor.default-dispatcher-5] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Welcome from [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 11:46:57.378] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2551, status = Up)
[INFO] [01/31/2018 11:46:57.379] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] ignore
[INFO] [01/31/2018 11:46:57.379] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2553, status = Up)
[INFO] [01/31/2018 11:46:58.227] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Up)

Node3日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[INFO] [01/31/2018 11:45:17.020] [main] [akka.remote.Remoting] Starting remoting
[INFO] [01/31/2018 11:45:17.213] [main] [akka.remote.Remoting] Remoting started; listening on addresses :[akka.tcp://simpleAkkaCluster@172.30.5.13:2553]
[INFO] [01/31/2018 11:45:17.215] [main] [akka.remote.Remoting] Remoting now listens on addresses: [akka.tcp://simpleAkkaCluster@172.30.5.13:2553]
[INFO] [01/31/2018 11:45:17.226] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Starting up...
[INFO] [01/31/2018 11:45:17.332] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Registered cluster JMX MBean [akka:type=Cluster]
[INFO] [01/31/2018 11:45:17.332] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Started up successfully
Akka Cluster Node1 启动完成akka://simpleAkkaCluster/user/taskActor
[WARN] [01/31/2018 11:45:17.359] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon/downingProvider] Don't use auto-down feature of Akka Cluster in production. See 'Auto-downing (DO NOT USE)' section of Akka Cluster documentation.
[INFO] [01/31/2018 11:45:17.544] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Welcome from [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 11:45:17.549] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2551, status = Up)
[INFO] [01/31/2018 11:45:17.550] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Up)
[INFO] [01/31/2018 11:45:17.551] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] ignore
[INFO] [01/31/2018 11:45:19.381] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2553, status = Up)
[INFO] [01/31/2018 11:46:46.368] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] ignore
[INFO] [01/31/2018 11:46:48.777] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Exiting confirmed [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 11:46:48.779] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] ignore
[ERROR] [01/31/2018 11:46:48.806] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-13] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/endpointManager/endpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2552-3] AssociationError [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] <- [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]: Error [Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2552] [
akka.remote.ShutDownAssociation: Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2552
Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system terminated the association because it is shutting down.
]
[ERROR] [01/31/2018 11:46:48.806] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-14] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2552-1/endpointWriter] AssociationError [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] -> [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]: Error [Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2552] [
akka.remote.ShutDownAssociation: Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2552
Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system terminated the association because it is shutting down.
]
[INFO] [01/31/2018 11:46:49.365] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.GossipStatus] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon#-53996821] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:46:49.563] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#1010718345] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:46:50.573] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#1010718345] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 11:46:51.378] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member is Removed: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Removed)
[INFO] [01/31/2018 11:46:57.342] [simpleAkkaCluster-akka.actor.default-dispatcher-23] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/joinSeedNodeProcess-1#-1328666486]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2553]
[INFO] [01/31/2018 11:46:57.342] [simpleAkkaCluster-akka.actor.default-dispatcher-23] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/joinSeedNodeProcess-1#-1328666486]]
[INFO] [01/31/2018 11:46:57.366] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] ignore
[INFO] [01/31/2018 11:46:57.772] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Up)

通过日志示例和服务端代码可以看到集群事件是通过MemberEvent传递的,这个其实就是每个成员所可能拥有的events,一个成员在它的生命周期中有以下的events:

  • ClusterEvent.MemberJoined - 新的节点加入集群,此时的状态是Joining;
  • ClusterEvent.MemberUp - 新的节点加入集群,此时的状态是Up;
  • ClusterEvent.MemberExited - 节点正在离开集群,此时的状态是Exiting;
  • ClusterEvent.MemberRemoved - 节点已经离开集群,此时的状态是Removed;
  • ClusterEvent.UnreachableMember - 节点被标记为不可触达;
  • ClusterEvent.ReachableMember - 节点被标记为可触达;

状态说明:

  • Joining: 加入集群的瞬间状态
  • Up: 正常服务状态
  • Leaving / Exiting: 正常移出中状态
  • Down: 被标记为停机(不再是集群决策的一部分)
  • Removed: 已从集群中移除

代码示例(客户端)

示例中定义的客户端端口为:2600

客户端配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
akka {
loglevel = "INFO"

actor {
provider = "akka.cluster.ClusterActorRefProvider"
}

remote {
log-remote-lifecycle-events = on
netty.tcp {
hostname = "172.30.5.13"
port = 2600
}
}

cluster {
roles = ["router", "client"]
seed-nodes = [
"akka.tcp://simpleAkkaCluster@172.30.5.13:2551",
"akka.tcp://simpleAkkaCluster@172.30.5.13:2552",
"akka.tcp://simpleAkkaCluster@172.30.5.13:2553"]

auto-down-unreachable-after = 5s
auto-down-unreachable-after = 5s
metrics.enabled = off
}
}

客户端消息转发

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
public class DispatchActor extends AbstractLoggingActor {

// 服务路径
private String actorPath;

// 服务集合
private List<ActorRef> servers = Lists.newArrayList();

// 集群监听
private Cluster cluster = Cluster.get(context().system());

// 服务地址统计
private AtomicInteger count = new AtomicInteger(0);

public DispatchActor(String actorPath) {
this.actorPath = actorPath;
}

@Override
public void preStart() throws Exception {
cluster.subscribe(self(), ClusterEvent.MemberEvent.class, ClusterEvent.ReachabilityEvent.class);
}

@Override
public void postStop() throws Exception {
cluster.unsubscribe(self());
}

@Override
public Receive createReceive() {
return receiveBuilder()
.match(Message.Task.class,
x -> servers.isEmpty(),
x -> sender().tell(new Message.Result(-1L, "服务暂不可用"), sender())
)
.match(Message.Task.class,
x -> {
log().info("[Dispatcher] [消息转发] 集群节点数量:{}, 待处理任务:{}", servers.size(), x.getTaskId());

int index = count.incrementAndGet() % servers.size();
for(int i=0; i<servers.size(); i++){
System.out.println("[Dispatcher][服务选取] 选中[" + (i == index)+"] 地址: " + servers.get(i).path());
}
System.out.println();

servers.get(index).forward(x, getContext());
}
)
.match(Terminated.class,
x -> unRegister(x.getActor())
)
.match(ClusterEvent.CurrentClusterState.class, state -> {
// 当前节点在刚刚加入集群时,会收到CurrentClusterState消息,从中可以解析出集群中的所有前端节点
servers.clear();
for (Member member : state.getMembers()) {
if (member.status().equals(MemberStatus.up())) {
register(member);
}
}
})
.match(ClusterEvent.MemberUp.class,
x -> register(x.member())
)
.match(ClusterEvent.MemberEvent.class,
x -> unRegister(x.member())
)
.match(ClusterEvent.UnreachableMember.class,
x -> unRegister(x.member())
)
.match(ClusterEvent.ReachableMember.class,
x -> unRegister(x.member())
).build();
}


public void register(Member member){
if(null != member && member.hasRole("server")){
register(getContext().actorFor(member.address() + "/user/" + this.actorPath));
}
}

public void unRegister(Member member){
if(null != member && member.hasRole("server")){
unRegister(getContext().actorFor(member.address() + "/user/" + this.actorPath));
}
}

public void register(ActorRef actorRef){
if(null != actorRef){
servers.add(actorRef);
}
}

public void unRegister(ActorRef actorRef){
if(null != actorRef){
servers.remove(actorRef);
}
}
}

客户端主类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
public class TaskClusterClient {

public static void main(String[] args) throws Exception {

ActorSystem system = ActorSystem.create("simpleAkkaCluster", ConfigFactory.load("akka-client.conf"));

// 单节点处理
directorClient(system);

// 集群处理
clusterClient(system);

Thread.sleep(1000);
system.terminate();

}


/**
* 直接指定特定节点处理
* @throws Exception
*/
public static void directorClient(ActorSystem system) throws Exception {
ActorRef directClient = system.actorFor("akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor");
System.out.println("Akka Direct Client 启动完成. " + directClient.path());
remoteInvoke("[指定处理]", directClient);

}

/**
* 指定集群处理(集群节点选组由Dispatcher处理)
* @throws Exception
*/
public static void clusterClient(ActorSystem system) throws Exception {
ActorRef clusterClient = system.actorOf(Props.create(DispatchActor.class, "taskActor"), "clientActor");
System.out.println("Akka Cluster Client 启动完成. " + clusterClient.path());

for(int i=0; i<2; i++){
System.out.println();
Thread.sleep(2000);
remoteInvoke("[集群处理]", clusterClient);
}
}


/**
* 和远程端进行数据交互并获取处理结果
* @param depict 交互类型描述
* @param endpoint 服务节点地址
* @throws Exception
*/
public static void remoteInvoke(String depict, ActorRef endpoint) throws Exception {
List<Future<Object>> futures = Lists.newArrayList();
Timeout timeout = new Timeout(Duration.create(10, TimeUnit.SECONDS));
for(int i=0; i<5; i++){
String text = depict + "消息" + i + UUID.randomUUID().toString();
Future<Object> future = Patterns.ask(endpoint, new Message.Task(100L +i, text), timeout);
futures.add(future);
}
for(Future<Object> future: futures){
Message.Result result = (Message.Result) Await.result(future, timeout.duration());
System.out.println("服务端返回:" + result);
}
}
}

客户端分别演示了指定节点处理和基于集群处理.

分布式计算

启动服务端: 分别启动服务端节点(Node1、Node2、Node3)、
启动客户端: 启动客户端主类模拟调用

服务端日志

Node1日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
[INFO] [01/31/2018 12:09:28.361] [main] [akka.remote.Remoting] Starting remoting
[INFO] [01/31/2018 12:09:28.528] [main] [akka.remote.Remoting] Remoting started; listening on addresses :[akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 12:09:28.530] [main] [akka.remote.Remoting] Remoting now listens on addresses: [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 12:09:28.541] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Starting up...
[INFO] [01/31/2018 12:09:28.658] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Registered cluster JMX MBean [akka:type=Cluster]
[INFO] [01/31/2018 12:09:28.658] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Started up successfully
Akka Cluster Node1 启动完成akka://simpleAkkaCluster/user/taskActor
[WARN] [01/31/2018 12:09:28.684] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/cluster/core/daemon/downingProvider] Don't use auto-down feature of Akka Cluster in production. See 'Auto-downing (DO NOT USE)' section of Akka Cluster documentation.
[WARN] [01/31/2018 12:09:28.775] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2552
[WARN] [01/31/2018 12:09:28.775] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2553
[WARN] [01/31/2018 12:09:28.777] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-17] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2553-1] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2553]] Caused by: [Connection refused: /172.30.5.13:2553]
[WARN] [01/31/2018 12:09:28.777] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-5] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2552-0] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]] Caused by: [Connection refused: /172.30.5.13:2552]
[INFO] [01/31/2018 12:09:28.780] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#657073580] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:28.780] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#657073580] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:29.707] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#657073580] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:29.707] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#657073580] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [4] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:30.697] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#657073580] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [5] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:30.697] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#657073580] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [6] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:31.695] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#657073580] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [7] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:31.696] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#657073580] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [8] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:32.707] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#657073580] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [9] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:32.708] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/firstSeedNodeProcess-1#657073580] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [10] dead letters encountered, no more dead letters will be logged. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:33.715] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] is JOINING, roles [server, dc-default]
[INFO] [01/31/2018 12:09:33.722] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is moving node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] to [Up]
[INFO] [01/31/2018 12:09:33.726] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2551, status = Up)
[INFO] [01/31/2018 12:09:39.312] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/joinSeedNodeProcess-1#-987896376]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 12:09:39.312] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/joinSeedNodeProcess-1#-987896376]]
[INFO] [01/31/2018 12:09:39.353] [simpleAkkaCluster-akka.actor.default-dispatcher-18] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] is JOINING, roles [server, dc-default]
[INFO] [01/31/2018 12:09:39.354] [simpleAkkaCluster-akka.actor.default-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] ignore
[INFO] [01/31/2018 12:09:39.696] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is moving node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] to [Up]
[INFO] [01/31/2018 12:09:39.696] [simpleAkkaCluster-akka.actor.default-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Up)
[INFO] [01/31/2018 12:09:48.491] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon/joinSeedNodeProcess-1#1412926543]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 12:09:48.491] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon/joinSeedNodeProcess-1#1412926543]]
[INFO] [01/31/2018 12:09:48.703] [simpleAkkaCluster-akka.actor.default-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] ignore
[INFO] [01/31/2018 12:09:49.694] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is moving node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] to [Up]
[INFO] [01/31/2018 12:09:49.696] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2553, status = Up)
[INFO] [01/31/2018 12:10:22.308] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2600/system/cluster/core/daemon/joinSeedNodeProcess-1#-1040563122]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 12:10:22.308] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2600/system/cluster/core/daemon/joinSeedNodeProcess-1#-1040563122]]
[INFO] [01/31/2018 12:10:22.697] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] ignore
[INFO] [01/31/2018 12:10:23.693] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is moving node [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] to [Up]
[INFO] [01/31/2018 12:10:23.694] [simpleAkkaCluster-akka.actor.default-dispatcher-23] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Up)
[INFO] [01/31/2018 12:10:24.653] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] [接收消息]:{"content":"[集群处理]消息2fe9b091d-dbca-4a43-bb8f-4e11fa7db348","taskId":102}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-3
[WARN] [SECURITY][01/31/2018 12:10:24.654] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-14] [akka.serialization.Serialization(akka://simpleAkkaCluster)] Using the default Java serializer for class [com.elonsu.cluster.akka.Message$Result] which is not recommended because of performance implications. Use another serializer or disable this warning using the setting 'akka.actor.warn-about-java-serializer-usage'
[INFO] [01/31/2018 12:10:26.665] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] [接收消息]:{"content":"[集群处理]消息071a6714d-94af-47e2-b3e2-e298ca60e6f7","taskId":100}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-15
[INFO] [01/31/2018 12:10:26.665] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] [接收消息]:{"content":"[集群处理]消息34ce25577-f548-4836-8f86-a7e789f3284f","taskId":103}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-15
[ERROR] [01/31/2018 12:10:27.698] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-17] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2600-4/endpointWriter] AssociationError [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] <- [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]: Error [Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2600] [
akka.remote.ShutDownAssociation: Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2600
Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system terminated the association because it is shutting down.
]
[WARN] [01/31/2018 12:10:31.694] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/cluster/core/daemon] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Marking node(s) as UNREACHABLE [Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Up)]. Node roles [server, dc-default]
[INFO] [01/31/2018 12:10:31.696] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member detected as unreachable: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Up)
[WARN] [01/31/2018 12:10:32.727] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2600
[WARN] [01/31/2018 12:10:32.728] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-5] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2600-5] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]] Caused by: [Connection refused: /172.30.5.13:2600]
[INFO] [01/31/2018 12:10:36.711] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is auto-downing unreachable node [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]. Don't use auto-down feature of Akka Cluster in production. See 'Auto-downing (DO NOT USE)' section of Akka Cluster documentation.
[INFO] [01/31/2018 12:10:36.712] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Marking unreachable node [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] as [Down]
[WARN] [01/31/2018 12:10:38.727] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2600
[WARN] [01/31/2018 12:10:38.727] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-14] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2600-5] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]] Caused by: [Connection refused: /172.30.5.13:2600]
[INFO] [01/31/2018 12:10:39.684] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2551] - Leader is removing unreachable node [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]
[INFO] [01/31/2018 12:10:39.686] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor] Member is Removed: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Removed)

Node2日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[INFO] [01/31/2018 12:09:38.816] [main] [akka.remote.Remoting] Starting remoting
[INFO] [01/31/2018 12:09:38.986] [main] [akka.remote.Remoting] Remoting started; listening on addresses :[akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 12:09:38.988] [main] [akka.remote.Remoting] Remoting now listens on addresses: [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 12:09:39.009] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Starting up...
[INFO] [01/31/2018 12:09:39.126] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Registered cluster JMX MBean [akka:type=Cluster]
[INFO] [01/31/2018 12:09:39.126] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Started up successfully
Akka Cluster Node1 启动完成akka://simpleAkkaCluster/user/taskActor
[WARN] [01/31/2018 12:09:39.150] [simpleAkkaCluster-akka.actor.default-dispatcher-5] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon/downingProvider] Don't use auto-down feature of Akka Cluster in production. See 'Auto-downing (DO NOT USE)' section of Akka Cluster documentation.
[WARN] [01/31/2018 12:09:39.236] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2553
[WARN] [01/31/2018 12:09:39.237] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-6] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2553-1] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2553]] Caused by: [Connection refused: /172.30.5.13:2553]
[INFO] [01/31/2018 12:09:39.240] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.InternalClusterAction$InitJoin$] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/joinSeedNodeProcess-1#-987896376] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:09:39.431] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Welcome from [akka.tcp://simpleAkkaCluster@172.30.5.13:2551]
[INFO] [01/31/2018 12:09:39.434] [simpleAkkaCluster-akka.actor.default-dispatcher-5] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2551, status = Up)
[INFO] [01/31/2018 12:09:39.434] [simpleAkkaCluster-akka.actor.default-dispatcher-5] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] ignore
[INFO] [01/31/2018 12:09:39.707] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Up)
[INFO] [01/31/2018 12:09:48.492] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon/joinSeedNodeProcess-1#1412926543]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 12:09:48.492] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon/joinSeedNodeProcess-1#1412926543]]
[INFO] [01/31/2018 12:09:48.520] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] is JOINING, roles [server, dc-default]
[INFO] [01/31/2018 12:09:48.521] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] ignore
[INFO] [01/31/2018 12:09:49.700] [simpleAkkaCluster-akka.actor.default-dispatcher-5] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2553, status = Up)
[INFO] [01/31/2018 12:10:22.308] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2600/system/cluster/core/daemon/joinSeedNodeProcess-1#-1040563122]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 12:10:22.308] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2600/system/cluster/core/daemon/joinSeedNodeProcess-1#-1040563122]]
[INFO] [01/31/2018 12:10:22.330] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] is JOINING, roles [router, client, dc-default]
[INFO] [01/31/2018 12:10:22.331] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] ignore
[INFO] [01/31/2018 12:10:24.651] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] [接收消息]:{"content":"[集群处理]消息0d5dbe1b1-5d5d-48cb-8279-7afc9d013633","taskId":100}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-19
[INFO] [01/31/2018 12:10:24.652] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] [接收消息]:{"content":"[集群处理]消息338f8e10b-ac1a-4714-9642-8ee64cb4c31f","taskId":103}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-19
[WARN] [SECURITY][01/31/2018 12:10:24.652] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-18] [akka.serialization.Serialization(akka://simpleAkkaCluster)] Using the default Java serializer for class [com.elonsu.cluster.akka.Message$Result] which is not recommended because of performance implications. Use another serializer or disable this warning using the setting 'akka.actor.warn-about-java-serializer-usage'
[INFO] [01/31/2018 12:10:25.169] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Up)
[INFO] [01/31/2018 12:10:26.665] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] [接收消息]:{"content":"[集群处理]消息1104806a5-2a35-4328-ae7d-8d39052c5cf4","taskId":101}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-20
[INFO] [01/31/2018 12:10:26.667] [simpleAkkaCluster-akka.actor.default-dispatcher-23] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] [接收消息]:{"content":"[集群处理]消息4113e1b57-d258-4ac4-96da-2dcdc531f823","taskId":104}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-23
[ERROR] [01/31/2018 12:10:27.695] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-7] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2600-4/endpointWriter] AssociationError [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] <- [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]: Error [Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2600] [
akka.remote.ShutDownAssociation: Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2600
Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system terminated the association because it is shutting down.
]
[INFO] [01/31/2018 12:10:28.450] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#145674424] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:29.453] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#145674424] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:30.452] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#145674424] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [4] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:31.452] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#145674424] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [5] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[WARN] [01/31/2018 12:10:32.162] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/cluster/core/daemon] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2552] - Marking node(s) as UNREACHABLE [Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Up)]. Node roles [server, dc-default]
[INFO] [01/31/2018 12:10:32.164] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member detected as unreachable: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Up)
[INFO] [01/31/2018 12:10:32.451] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#145674424] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [6] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[WARN] [01/31/2018 12:10:33.457] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2600
[WARN] [01/31/2018 12:10:33.457] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2600-5] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]] Caused by: [Connection refused: /172.30.5.13:2600]
[INFO] [01/31/2018 12:10:33.458] [simpleAkkaCluster-akka.actor.default-dispatcher-23] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#145674424] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [7] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:34.451] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#145674424] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [8] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:35.450] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#145674424] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [9] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:36.450] [simpleAkkaCluster-akka.actor.default-dispatcher-23] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#145674424] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [10] dead letters encountered, no more dead letters will be logged. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[WARN] [01/31/2018 12:10:39.455] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2600
[WARN] [01/31/2018 12:10:39.457] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2600-5] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]] Caused by: [Connection refused: /172.30.5.13:2600]
[INFO] [01/31/2018 12:10:40.168] [simpleAkkaCluster-akka.actor.default-dispatcher-5] [akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor] Member is Removed: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Removed)

Node3日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
[INFO] [01/31/2018 12:09:48.069] [main] [akka.remote.Remoting] Starting remoting
[INFO] [01/31/2018 12:09:48.226] [main] [akka.remote.Remoting] Remoting started; listening on addresses :[akka.tcp://simpleAkkaCluster@172.30.5.13:2553]
[INFO] [01/31/2018 12:09:48.227] [main] [akka.remote.Remoting] Remoting now listens on addresses: [akka.tcp://simpleAkkaCluster@172.30.5.13:2553]
[INFO] [01/31/2018 12:09:48.238] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Starting up...
[INFO] [01/31/2018 12:09:48.338] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Registered cluster JMX MBean [akka:type=Cluster]
[INFO] [01/31/2018 12:09:48.338] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Started up successfully
Akka Cluster Node1 启动完成akka://simpleAkkaCluster/user/taskActor
[WARN] [01/31/2018 12:09:48.361] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon/downingProvider] Don't use auto-down feature of Akka Cluster in production. See 'Auto-downing (DO NOT USE)' section of Akka Cluster documentation.
[INFO] [01/31/2018 12:09:48.537] [simpleAkkaCluster-akka.actor.default-dispatcher-3] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Welcome from [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
[INFO] [01/31/2018 12:09:48.541] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2551, status = Up)
[INFO] [01/31/2018 12:09:48.541] [simpleAkkaCluster-akka.actor.default-dispatcher-16] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2552, status = Up)
[INFO] [01/31/2018 12:09:48.541] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] ignore
[INFO] [01/31/2018 12:09:50.169] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2553, status = Up)
[INFO] [01/31/2018 12:10:22.320] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Received InitJoin message from [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2600/system/cluster/core/daemon/joinSeedNodeProcess-1#-1040563122]] to [akka.tcp://simpleAkkaCluster@172.30.5.13:2553]
[INFO] [01/31/2018 12:10:22.321] [simpleAkkaCluster-akka.actor.default-dispatcher-19] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Sending InitJoinAck message from node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] to [Actor[akka.tcp://simpleAkkaCluster@172.30.5.13:2600/system/cluster/core/daemon/joinSeedNodeProcess-1#-1040563122]]
[INFO] [01/31/2018 12:10:22.428] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] [接收消息]:{"content":"[指定处理]消息0185c0218-8792-44a3-9bbe-c79fd5d1fe5e","taskId":100}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-21
[INFO] [01/31/2018 12:10:22.429] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] [接收消息]:{"content":"[指定处理]消息1572b5e48-16dd-4137-92b8-604d92e1fe0e","taskId":101}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-21
[INFO] [01/31/2018 12:10:22.429] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] [接收消息]:{"content":"[指定处理]消息2defa8129-a316-434d-a749-7081a5b11a50","taskId":102}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-21
[INFO] [01/31/2018 12:10:22.429] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] [接收消息]:{"content":"[指定处理]消息375821f49-51e7-4530-8728-c05e96f334fc","taskId":103}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-21
[INFO] [01/31/2018 12:10:22.429] [simpleAkkaCluster-akka.actor.default-dispatcher-21] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] [接收消息]:{"content":"[指定处理]消息4764d693f-b803-4b6c-87db-a6c8dcd9ce68","taskId":104}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-21
[INFO] [01/31/2018 12:10:22.430] [simpleAkkaCluster-akka.actor.default-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] ignore
[WARN] [SECURITY][01/31/2018 12:10:22.430] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-13] [akka.serialization.Serialization(akka://simpleAkkaCluster)] Using the default Java serializer for class [com.elonsu.cluster.akka.Message$Result] which is not recommended because of performance implications. Use another serializer or disable this warning using the setting 'akka.actor.warn-about-java-serializer-usage'
[INFO] [01/31/2018 12:10:24.373] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member is Up: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Up)
[INFO] [01/31/2018 12:10:24.571] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] [接收消息]:{"content":"[集群处理]消息15cbfbf9d-323d-428a-bbd5-dc66dec9b3e3","taskId":101}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-15
[INFO] [01/31/2018 12:10:24.572] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] [接收消息]:{"content":"[集群处理]消息4f65324da-5eee-4815-9c3d-6541cfc09446","taskId":104}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-15
[INFO] [01/31/2018 12:10:26.665] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] [接收消息]:{"content":"[集群处理]消息2320bd63b-9911-49bb-a58a-2cc12eac733f","taskId":102}, Actor:akka://simpleAkkaCluster/user/taskActor, Thread:simpleAkkaCluster-akka.actor.default-dispatcher-15
[ERROR] [01/31/2018 12:10:27.706] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-14] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2600-4/endpointWriter] AssociationError [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] <- [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]: Error [Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2600] [
akka.remote.ShutDownAssociation: Shut down address: akka.tcp://simpleAkkaCluster@172.30.5.13:2600
Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system terminated the association because it is shutting down.
]
[INFO] [01/31/2018 12:10:28.558] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#2131930055] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:29.558] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#2131930055] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:30.558] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#2131930055] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:31.369] [simpleAkkaCluster-akka.actor.default-dispatcher-23] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.GossipStatus] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon#-1409330530] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [4] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:31.558] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#2131930055] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [5] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:31.708] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member detected as unreachable: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Up)
[WARN] [01/31/2018 12:10:32.371] [simpleAkkaCluster-akka.actor.default-dispatcher-22] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/cluster/core/daemon] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2553] - Marking node(s) as UNREACHABLE [Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Up)]. Node roles [server, dc-default]
[INFO] [01/31/2018 12:10:32.557] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#2131930055] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [6] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[WARN] [01/31/2018 12:10:33.565] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2600
[WARN] [01/31/2018 12:10:33.565] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-5] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2600-5] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]] Caused by: [Connection refused: /172.30.5.13:2600]
[INFO] [01/31/2018 12:10:33.566] [simpleAkkaCluster-akka.actor.default-dispatcher-23] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#2131930055] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [7] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:34.558] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#2131930055] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [8] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:35.557] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#2131930055] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [9] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [01/31/2018 12:10:36.558] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka://simpleAkkaCluster/deadLetters] Message [akka.cluster.ClusterHeartbeatSender$Heartbeat] from Actor[akka://simpleAkkaCluster/system/cluster/core/daemon/heartbeatSender#2131930055] to Actor[akka://simpleAkkaCluster/deadLetters] was not delivered. [10] dead letters encountered, no more dead letters will be logged. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[WARN] [01/31/2018 12:10:39.561] [New I/O boss #3] [NettyTransport(akka://simpleAkkaCluster)] Remote connection to [null] failed with java.net.ConnectException: Connection refused: /172.30.5.13:2600
[WARN] [01/31/2018 12:10:39.562] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-13] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FsimpleAkkaCluster%40172.30.5.13%3A2600-5] Association with remote system [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]] Caused by: [Connection refused: /172.30.5.13:2600]
[INFO] [01/31/2018 12:10:39.694] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor] Member is Removed: Member(address = akka.tcp://simpleAkkaCluster@172.30.5.13:2600, status = Removed)

客户端日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
[INFO] [01/31/2018 12:10:21.847] [main] [akka.remote.Remoting] Starting remoting
[INFO] [01/31/2018 12:10:22.021] [main] [akka.remote.Remoting] Remoting started; listening on addresses :[akka.tcp://simpleAkkaCluster@172.30.5.13:2600]
[INFO] [01/31/2018 12:10:22.022] [main] [akka.remote.Remoting] Remoting now listens on addresses: [akka.tcp://simpleAkkaCluster@172.30.5.13:2600]
[INFO] [01/31/2018 12:10:22.036] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] - Starting up...
[INFO] [01/31/2018 12:10:22.148] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] - Registered cluster JMX MBean [akka:type=Cluster]
[INFO] [01/31/2018 12:10:22.148] [main] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] - Started up successfully
Akka Direct Client 启动完成. akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor
[WARN] [01/31/2018 12:10:22.179] [simpleAkkaCluster-akka.actor.default-dispatcher-4] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/system/cluster/core/daemon/downingProvider] Don't use auto-down feature of Akka Cluster in production. See 'Auto-downing (DO NOT USE)' section of Akka Cluster documentation.
[WARN] [SECURITY][01/31/2018 12:10:22.288] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-14] [akka.serialization.Serialization(akka://simpleAkkaCluster)] Using the default Java serializer for class [com.elonsu.cluster.akka.Message$Task] which is not recommended because of performance implications. Use another serializer or disable this warning using the setting 'akka.actor.warn-about-java-serializer-usage'
[INFO] [01/31/2018 12:10:22.351] [simpleAkkaCluster-akka.actor.default-dispatcher-2] [akka.cluster.Cluster(akka://simpleAkkaCluster)] Cluster Node [akka.tcp://simpleAkkaCluster@172.30.5.13:2600] - Welcome from [akka.tcp://simpleAkkaCluster@172.30.5.13:2552]
服务端返回:{"result":"[指定处理]消息0185c0218-8792-44a3-9bbe-c79fd5d1fe5e处理完成","taskId":100}
服务端返回:{"result":"[指定处理]消息1572b5e48-16dd-4137-92b8-604d92e1fe0e处理完成","taskId":101}
服务端返回:{"result":"[指定处理]消息2defa8129-a316-434d-a749-7081a5b11a50处理完成","taskId":102}
服务端返回:{"result":"[指定处理]消息375821f49-51e7-4530-8728-c05e96f334fc处理完成","taskId":103}
服务端返回:{"result":"[指定处理]消息4764d693f-b803-4b6c-87db-a6c8dcd9ce68处理完成","taskId":104}
Akka Cluster Client 启动完成. akka://simpleAkkaCluster/user/clientActor

[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor
[Dispatcher][服务选取] 选中[true] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor

[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor
[Dispatcher][服务选取] 选中[true] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor

[INFO] [01/31/2018 12:10:24.567] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/user/clientActor] [Dispatcher] [消息转发] 集群节点数量:3, 待处理任务:100
[Dispatcher][服务选取] 选中[true] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor

[INFO] [01/31/2018 12:10:24.568] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/user/clientActor] [Dispatcher] [消息转发] 集群节点数量:3, 待处理任务:101
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor
[Dispatcher][服务选取] 选中[true] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor

[INFO] [01/31/2018 12:10:24.568] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/user/clientActor] [Dispatcher] [消息转发] 集群节点数量:3, 待处理任务:102
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor
[Dispatcher][服务选取] 选中[true] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor
[INFO] [01/31/2018 12:10:24.568] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/user/clientActor] [Dispatcher] [消息转发] 集群节点数量:3, 待处理任务:103

[INFO] [01/31/2018 12:10:24.569] [simpleAkkaCluster-akka.actor.default-dispatcher-17] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/user/clientActor] [Dispatcher] [消息转发] 集群节点数量:3, 待处理任务:104
服务端返回:{"result":"[集群处理]消息0d5dbe1b1-5d5d-48cb-8279-7afc9d013633处理完成","taskId":100}
服务端返回:{"result":"[集群处理]消息15cbfbf9d-323d-428a-bbd5-dc66dec9b3e3处理完成","taskId":101}
服务端返回:{"result":"[集群处理]消息2fe9b091d-dbca-4a43-bb8f-4e11fa7db348处理完成","taskId":102}
服务端返回:{"result":"[集群处理]消息338f8e10b-ac1a-4714-9642-8ee64cb4c31f处理完成","taskId":103}
服务端返回:{"result":"[集群处理]消息4f65324da-5eee-4815-9c3d-6541cfc09446处理完成","taskId":104}

[Dispatcher][服务选取] 选中[true] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor

[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor
[Dispatcher][服务选取] 选中[true] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor

[INFO] [01/31/2018 12:10:26.662] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/user/clientActor] [Dispatcher] [消息转发] 集群节点数量:3, 待处理任务:100
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor
[Dispatcher][服务选取] 选中[true] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor

[INFO] [01/31/2018 12:10:26.662] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/user/clientActor] [Dispatcher] [消息转发] 集群节点数量:3, 待处理任务:101
[Dispatcher][服务选取] 选中[true] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor

[INFO] [01/31/2018 12:10:26.662] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/user/clientActor] [Dispatcher] [消息转发] 集群节点数量:3, 待处理任务:102
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2551/user/taskActor
[Dispatcher][服务选取] 选中[true] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2552/user/taskActor
[Dispatcher][服务选取] 选中[false] 地址: akka.tcp://simpleAkkaCluster@172.30.5.13:2553/user/taskActor

[INFO] [01/31/2018 12:10:26.663] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/user/clientActor] [Dispatcher] [消息转发] 集群节点数量:3, 待处理任务:103
[INFO] [01/31/2018 12:10:26.663] [simpleAkkaCluster-akka.actor.default-dispatcher-15] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/user/clientActor] [Dispatcher] [消息转发] 集群节点数量:3, 待处理任务:104
服务端返回:{"result":"[集群处理]消息071a6714d-94af-47e2-b3e2-e298ca60e6f7处理完成","taskId":100}
服务端返回:{"result":"[集群处理]消息1104806a5-2a35-4328-ae7d-8d39052c5cf4处理完成","taskId":101}
服务端返回:{"result":"[集群处理]消息2320bd63b-9911-49bb-a58a-2cc12eac733f处理完成","taskId":102}
服务端返回:{"result":"[集群处理]消息34ce25577-f548-4836-8f86-a7e789f3284f处理完成","taskId":103}
服务端返回:{"result":"[集群处理]消息4113e1b57-d258-4ac4-96da-2dcdc531f823处理完成","taskId":104}
[INFO] [01/31/2018 12:10:27.683] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/system/remoting-terminator] Shutting down remote daemon.
[INFO] [01/31/2018 12:10:27.684] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-18] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/system/remoting-terminator] Remote daemon shut down; proceeding with flushing remote transports.
[INFO] [01/31/2018 12:10:27.710] [simpleAkkaCluster-akka.actor.default-dispatcher-20] [akka.remote.Remoting] Remoting shut down
[INFO] [01/31/2018 12:10:27.711] [simpleAkkaCluster-akka.remote.default-remote-dispatcher-5] [akka.tcp://simpleAkkaCluster@172.30.5.13:2600/system/remoting-terminator] Remoting shut down.

相关文档