vlingo-cluster

Cluster management for reactive, scalable resiliency of JVM tools and applications running on VLINGO XOOM Actors.

License

License

GroupId

GroupId

io.vlingo
ArtifactId

ArtifactId

vlingo-cluster
Last Version

Last Version

1.7.5
Release Date

Release Date

Type

Type

jar
Description

Description

vlingo-cluster
Cluster management for reactive, scalable resiliency of JVM tools and applications running on VLINGO XOOM Actors.
Project URL

Project URL

https://github.com/vlingo/xoom-cluster
Source Code Management

Source Code Management

http://github.com/vlingo/xoom-cluster/tree/master

Download vlingo-cluster

How to add to project

<!-- https://jarcasting.com/artifacts/io.vlingo/vlingo-cluster/ -->
<dependency>
    <groupId>io.vlingo</groupId>
    <artifactId>vlingo-cluster</artifactId>
    <version>1.7.5</version>
</dependency>
// https://jarcasting.com/artifacts/io.vlingo/vlingo-cluster/
implementation 'io.vlingo:vlingo-cluster:1.7.5'
// https://jarcasting.com/artifacts/io.vlingo/vlingo-cluster/
implementation ("io.vlingo:vlingo-cluster:1.7.5")
'io.vlingo:vlingo-cluster:jar:1.7.5'
<dependency org="io.vlingo" name="vlingo-cluster" rev="1.7.5">
  <artifact name="vlingo-cluster" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.vlingo', module='vlingo-cluster', version='1.7.5')
)
libraryDependencies += "io.vlingo" % "vlingo-cluster" % "1.7.5"
[io.vlingo/vlingo-cluster "1.7.5"]

Dependencies

compile (4)

Group / Artifact Type Version
ch.qos.logback : logback-classic jar 1.0.13
io.vlingo.xoom : xoom-common jar 1.7.5
io.vlingo.xoom : xoom-actors jar 1.7.5
io.vlingo.xoom : xoom-wire jar 1.7.5

test (1)

Group / Artifact Type Version
junit : junit jar 4.13.1

Project Modules

There are no modules declared in this project.

xoom-cluster

Javadocs Build Download Gitter chat

The VLINGO XOOM platform SDK cluster management for Reactive, scalable resiliency of JVM tools and applications running on XOOM LATTICE and XOOM ACTORS.

Docs: https://docs.vlingo.io/xoom-cluster

Installation

  <dependencies>
    <dependency>
      <groupId>io.vlingo.xoom</groupId>
      <artifactId>xoom-cluster</artifactId>
      <version>1.7.7</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
dependencies {
    compile 'io.vlingo.xoom:xoom-cluster:1.7.7'
}

The XOOM CLUSTER supports scaling a JVM-based DDD Bounded Context (business-driven microservice) with fault tolerance.

Normally you would use xoom-lattice to get these clustering features, but you may run the build-in example cluster application to see how it works. To do so, reference your xoom-* dependecies, build, and run. The cluster is pre-configured for three nodes. To run a three-node cluster, start three different console windows and run the following, one in each console:

console1:xoom-cluster> mvn exec:java -Dexec.args=node1

console2:xoom-cluster> mvn exec:java -Dexec.args=node2

console3:xoom-cluster> mvn exec:java -Dexec.args=node3

Each node will start up and join the cluster. It is likely that node3 will become the leader, but it's possible for another node to take the lead depending on timing. Which node is the leader isn't really important, but fairly predictive, again assuming that node3 isn't started "long" after node2 and node1.

To play around with the nodes, go into one consult window and type ^C (interrupt). This will bring down the given node and the cluster will adjust. If you bring down the leader the cluster will elect a new leader. Starting the downed node again will enable it to re-join the cluster.

See the following package and sample ClusterApplication:

  io.vlingo.xoom.cluster.model.application
    ClusterApplication
    ClusterApplicationAdapter
    FakeClusterApplicationActor

Try it out. As the cluster changes states all of the activity and health conditions will be reported to the registered ClusterApplication. You can see how to configure your own ClusterApplication by changing the xoom-cluster.properties file:

  cluster.app.class = io.vlingo.xoom.cluster.model.application.FakeClusterApplicationActor

Have fun!

License (See LICENSE file for full license)

Copyright © 2012-2021 VLINGO LABS. All rights reserved.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

io.vlingo

VLINGO XOOM platform SDK for the JVM and .NET by VLINGO LABS

The OSS platform for rapid delivery of low-code to full-code Reactive, Event-Driven Apps & Microservices supporting DOMA, DDD, and other approaches.

Versions

Version
1.7.5
1.6.0
1.5.2
1.5.0
1.4.3
1.4.0
1.3.0
1.2.19
1.2.9
1.2.8
1.2.7
1.2.5
1.2.4
1.2.3
1.2.1
1.1.0
1.0.0
0.9.2-RC3
0.9.1-RC2
0.9.0-RC1
0.8.9
0.8.7
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4