Evento Framework
  • Introduction
  • Architecture Overview
    • Distributed Systems & Microservices
    • Recative Manifesto & Reactive Principles
    • State-of-the-art Patterns
      • DDD (Domain Driven Design)
      • CQRS (Command Query Responsability Separation)
      • Event Sourcing
      • Messaging
      • Saga
  • GETTING STARTED
    • Quick Start
    • TodoList - RECQ Tutorial
      • Problem Description and Requirement Gathering
      • RECQ Payload Design
      • RECQ Components Design
      • Set up your Development Environment
      • RECQ Payload Evento Implementation
        • Domain Commands
        • Domain Events
        • Views
        • Queries
      • RECQ Components Evento Implementation with Spring Data
        • TodoListAggregate
        • TodoList Model with Spring Data
        • TodoListProjector
        • TodoListProjection
        • TodoList Invoker
      • Expose the RECQ architecture with Spring Web
      • Test Your App
    • Extend TodoList - Handle Complexity Tutorial
      • Unique identifier generation
      • Extends behaviors with Observer and Services
      • Cross Domain Consistency with Sagas
      • Handle Real time data updates with MQTT and Save-Notify Pattern
  • RECQ Patterns
    • RECQ Patterns
    • RECQ System Pattern
      • Component
      • Message Gateway
      • System State Store
    • RECQ Communication Pattern
      • Component to Component
      • Component to System State Store
      • System State Store to Component
    • RECQ Component Pattern
      • Aggregate
      • Projector
      • Projection
      • Service
      • Invoker
      • Saga
      • Observer
  • Evento Framework
    • Evento Framework Introcution
    • Payload and Messages
      • Command
        • Domain Command
        • Service Command
      • Event
        • Domain and Service Event
      • Query and View
    • @Component
      • @Aggregate
        • Aggregate State
        • @AggregateCommandHandler
        • @EventSourcingHandler
      • @Projector
        • Projector @EventHandler
      • @Projection
        • @QueryHandler
      • @Service
        • @CommandHandler
      • @Invoker
      • @Saga
        • SagaState
        • @SagaEventHandler
      • @Observer
    • Dead Event Queues
    • EventoBundle
      • EventoServerMessageBusConfiguration
      • ConsumerStateStore
        • InMemoryConsumerStateStore
        • PostgresConsumerStateStore
        • MysqlConsumerStateStore
      • Context
      • TracingAgend and @Track
        • SentryTracingAgent
      • Autoscaling Protocol
        • ThreadCountAutoscalingProtocol
      • Injector and @Component
  • Evento Server
    • Evento Server Introduction
    • SetUp Evento Server
      • Advanced Options
      • Evento Event Store Modes: APES and CPES
    • Evento Server Cluster
    • Bundle Deploy Script
  • EVENTO GUI
    • Explore RECQ Systems Visually
    • GUI Auth
    • Payload Catalog
    • Component Catalog
    • Bundle Catalog
    • Cluster Status (Experimental)
    • Flows
      • Performance Evaluation
    • Application Graph
    • System State Store
  • Evento CLI
    • Evento CLI Introduction
    • Update Version
    • Publish
Powered by GitBook
On this page
  • Evento Server
  • Evento Framework
  1. GETTING STARTED

Quick Start

Evento Server and Evento Framework

PreviousState-of-the-art PatternsNextTodoList - RECQ Tutorial

Last updated 8 months ago

Evento Server

To start building a RECQ based Architecture you need a Message Gateway to handle and manage message communication between components (microservices). To do this we use Evento Server.

To start using Evento Server you need a and an instance of Evento Server that you can find on :

We have also prepared a simple docker-compose.yml to set up your development environment:

version: '3.3'
services:
  evento-db:
    image: 'postgres:latest'
    restart: always
    environment:
      - POSTGRES_PASSWORD=secret
      - POSTGRES_DB=evento
    volumes:
      - ./data/postgres:/var/lib/postgresql/data/
  evento-server:
    image: 'eventoframework/evento-server:latest'
    privileged: true
    restart: on-failure
    depends_on:
      - evento-db
    environment:
      # Cluster name visualized on the GUI
      - evento_cluster_name=evento-server
      # Capture rate for internal telemetry
      - evento_performance_capture_rate=1
      # Telemetry data TTL
      - evento_telemetry_ttl=365
      # Upload directory for Bundle Registration
      - evento_file_upload-dir=/server_upload
      # Secret key used to generate JWT access tokens
      - evento_security_signing_key=MY_JWT_SECRET_TOKEN_SEED
      # Evento Deploy Spawn Script Path
      - evento_deploy_spawn_script=/script/spawn.py
      # Postgres Database Connection Parameters
      - spring_datasource_url=jdbc:postgresql://evento-db:5432/evento
      - spring_datasource_username=postgres
      - spring_datasource_password=secret
    ports:
      - '3000:3000'
      - '3030:3030'
    volumes:
      - ./data/evento/files:/server_upload
      - ./docker-spawn.py:/script/spawn.py

You need to specify a Script for the automatic bundle deployment, add an empty Python script and bind it, it will be fine at the start.


Evento Framework

To develop RECQ components you need the Evento Framework Bundle Library.

Gradle

implementation group: 'com.eventoframework', name: 'evento-bundle', version: 'ev1.10.0'

Maven

<dependency>
    <groupId>com.eventoframework</groupId>
    <artifactId>evento-bundle</artifactId>
    <version>ev1.10.0</version>
</dependency>


Tu understands how to use properly Evento Server and Evento Framework we suggest you follow our Tutorial in the next chapter.

Evento Framework is compatible with or more.

You can find the library on :

Evento framework is independent of any other structured known framework like , or , so you can implement a RECQ application using your preferred technology even plain .

Postgres Database
Docker Hub
https://hub.docker.com/r/eventoframework/evento-server
Java 21
Maven Central
https://central.sonatype.com/artifact/com.eventoframework/evento-bundle
Spring
Micronaut
Quarkus
JavaEE