All Projects → vlingo → xoom-cluster

vlingo / xoom-cluster

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

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to xoom-cluster

Vlingo Actors
The VLINGO/PLATFORM type-safe Actor Model toolkit for reactive concurrency and resiliency using Java and other JVM languages.
Stars: ✭ 196 (+684%)
Mutual labels:  actors, jvm, actor-model, reactive-programming
Vlingo Examples
The VLINGO/PLATFORM examples demonstrating features and functionality available in the reactive components.
Stars: ✭ 121 (+384%)
Mutual labels:  actors, jvm, actor-model
Orbit
Orbit - Virtual actor framework for building distributed systems
Stars: ✭ 1,585 (+6240%)
Mutual labels:  actors, jvm, actor-model
theater
Actor framework for Dart. This package makes it easier to work with isolates, create clusters of isolates.
Stars: ✭ 29 (+16%)
Mutual labels:  actors, cluster, actor-model
Coerce Rs
Coerce - an asynchronous (async/await) Actor runtime and cluster framework for Rust
Stars: ✭ 231 (+824%)
Mutual labels:  actors, cluster, actor-model
reacted
Actor based reactive java framework for microservices in local and distributed environment
Stars: ✭ 17 (-32%)
Mutual labels:  actors, actor-model, reactive-programming
Actor4j Core
Actor4j is an actor-oriented Java framework. Useful for building lightweighted microservices (these are the actors themselves or groups of them). Enhanced performance of message passing.
Stars: ✭ 48 (+92%)
Mutual labels:  actors, actor-model
Actix Remote
Distributed actors for actix framework.
Stars: ✭ 80 (+220%)
Mutual labels:  actors, actor-model
So 5 5
SObjectizer: it's all about in-process message dispatching!
Stars: ✭ 87 (+248%)
Mutual labels:  actors, actor-model
Nact
nact ⇒ node.js + actors ⇒ your services have never been so µ
Stars: ✭ 848 (+3292%)
Mutual labels:  actors, actor-model
Wasmcloud
wasmCloud is a universal host runtime for actors built with WebAssembly and capability providers
Stars: ✭ 116 (+364%)
Mutual labels:  actors, actor-model
Sobjectizer
An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
Stars: ✭ 172 (+588%)
Mutual labels:  actors, actor-model
Pulsar
Fibers, Channels and Actors for Clojure
Stars: ✭ 885 (+3440%)
Mutual labels:  actors, jvm
Akka Bootcamp
Self-paced training course to learn Akka.NET fundamentals from scratch
Stars: ✭ 880 (+3420%)
Mutual labels:  actors, actor-model
Mruby Actor
A actor library for distributed mruby
Stars: ✭ 11 (-56%)
Mutual labels:  actors, actor-model
Thespian
Python Actor concurrency library
Stars: ✭ 220 (+780%)
Mutual labels:  actors, actor-model
Actor Framework
An Open Source Implementation of the Actor Model in C++
Stars: ✭ 2,637 (+10448%)
Mutual labels:  actors, actor-model
Actors.jl
Concurrent computing in Julia based on the Actor Model
Stars: ✭ 95 (+280%)
Mutual labels:  actors, actor-model
Quasar
Fibers, Channels and Actors for the JVM
Stars: ✭ 4,349 (+17296%)
Mutual labels:  actors, jvm
Riker
Easily build efficient, highly concurrent and resilient applications. An Actor Framework for Rust.
Stars: ✭ 745 (+2880%)
Mutual labels:  actors, actor-model

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.10.1</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
dependencies {
    compile 'io.vlingo.xoom:xoom-cluster:1.10.1'
}

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-2022 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/.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].