Lerna is a software stack for building high-availability, high-throughput systems.

  • By executing Lerna’s scripts to VMs running on the cloud (public or private), you can build an environment that is configured to achieve high availability and high throughput.
  • In that environment, designing and implementing applications based on the actor model (Akka) and CQRS(Command Query Responsibility Segregation) with Event Sourcing architecture allows you to build highly available systems.
  • Libraries and reference implementations for design and implementation are provided.

Concept

High availability and high throughput

  • Eliminates the bottleneck of writing to the RDBMS by applying the CQRS with Event Sourcing architecture to the application layer
  • High Availability and Scalability with Akka Cluster
  • Provides responsiveness by making the application stateful, while providing fast failover with guaranteed consistency using Raft

  • Benchmark test report of Lerna available here

Platform independent

  • Fast failover at the middleware and application layers with platform independence, based on the premise that the server (VM) will stop.
  • This ensures high availability independent of hardware and specific cloud environments

Low cost and fast delivery

  • No need to purchase expensive high-availability servers; high availability can be achieved at low cost by using OSS middleware.
  • Because it can be built on the cloud, it reduces the lead time for hardware procurement and improves delivery speed.

Contents

Name Description
application template a template for creating a new project
Terraform scripts scripts to build the environment
learning content hands-on content learning Akka and Scala with Lerna
system design documents documentation for developing with Lerna
application libraries libraries for developing applications that run on Lerna Stack ( API Doc )
sample application a sample application for developing with Lerna application libraries
HA library Akka extension for fast recovery from failure with replicating stateful entity on multiple nodes in Cluster. ( API Doc )
benchmark report for Lerna a benchmark report measuring availability and throughput of Lerna
sample application for HA library (Minimum) a sample application for developing with HA library
sample application for HA library (Bank Account) a sample application that manages bank account balances for developing with HA library
batch parallelization library a library for parallelizing batch processing with Nablarch Batch Framework
sample application for batch library a sample application for developing with batch parallelization library
benchmark report for batch library a report testing speed improvement effect by parallelizing processing using batch parallelization library

Getting started

Articles

Slides


Reactive systems that focus on availability from TIS Inc.

 

License

This content is compliant with Apache License 2.0.

* The names of the companies and products described in this site are trademarks or registered trademarks of the respective companies.
* Amazon Web Services, AWS are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.
* Akka is a trademark of Lightbend, Inc.