Skip to content

toa-io/toa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Toa

Runtime for low code eventually consistent distributed systems.

Status

The project is under heavy development, while being used in production by its authors. Non-scattered documentation is coming this fall.

Features

Runtime

  • Interservice communications
    • Reliable RPC and Events (ComQ)
    • Flow control
    • Eventual consistency guarantee (not yet)
    • Uniform interface
      • Input/query segregation
      • Successful rejections
      • Distributed exception handling
    • Transparent service discovery
    • Multi-protocol transmission
      • built-in support for AMQP and HTTP
    • In-memory communications
    • Messages validation
  • Persistent state management
    • Concurrency control
    • Batching
    • Data validation
    • Built-in implementations
      • MongoDB
      • SQL (Knex)
  • Telemetry
    • Structured logs
  • Configuration with secrets
  • API Gateway
  • Realtime events
  • BLOB storage
    • MIME type detection and validation
    • Deduplication
    • Arbitrary orderings
    • Providers: file system, Amazon S3
  • Transient state
  • External communications governance
    • HTTP
    • AMQP

Development

  • Language interoperability
  • Service prototyping (inheritance)
    • Generic prototype
  • Data and operations contracts
  • Declarative API Gateway endpoints with authorization policies
  • Integration tests SDK
  • Runtime bootloader API
  • Development environment configuration
  • CLI
  • Extensibility:
    • Persistent storages
    • Communication protocols
    • Runtime core abstractions
    • Arbitrary services

Operations

  • Standalone infrastructure configuration
  • Multi-environment configuration
  • Components distribution across containers
  • One-command fully automated deployment
    • Preset multi-arch docker images
    • Helm deployment to kubernetes
  • CLI utilities
    • Secrets management
    • Remote Container Shell