Skip to content

Latest commit

 

History

History
109 lines (78 loc) · 2.19 KB

File metadata and controls

109 lines (78 loc) · 2.19 KB

Event-Integrator Core

Main server and runtime engine for Event-Integrator platform.

Overview

Event-Integrator Core is the heart of the Event-Integrator system. It provides:

  • Event Processing Engine: High-performance event queue and processing pipeline
  • Event Storage: Persistent storage for event data with query capabilities
  • Configuration Management: Dynamic configuration loading and validation
  • Scalability: Designed for horizontal scaling with worker pools
  • Reliability: Built-in retry logic, circuit breakers, and graceful degradation
  • Observability: Comprehensive logging, metrics, and distributed tracing

Architecture

Events → Queue → Workers → Handlers → Storage
          ↓
      Retry Logic → Dead Letter Queue

Getting Started

Prerequisites

  • Go 1.21+
  • Docker (optional)
  • PostgreSQL (for event storage)
  • Redis (optional, for distributed queue)

Installation

# Clone repository
git clone https://github.com/similigh/event-integrator-core
cd event-integrator-core

# Build
go build -o event-integrator-core ./cmd

# Run
./event-integrator-core --config config.yaml

Docker

docker build -t event-integrator-core .
docker run -p 8080:8080 event-integrator-core

Configuration

Create config.yaml:

server:
  port: 8080
  host: 0.0.0.0

queue:
  backend: memory # or redis
  workers: 10

database:
  driver: postgres
  connection_string: "postgres://user:pass@localhost/events"

logging:
  level: info
  format: json

API Endpoints

  • POST /events - Submit new event
  • GET /events/{id} - Get event details
  • GET /health - Health check
  • GET /ready - Readiness probe

Development

# Run tests
go test ./...

# Run with race detection
go test -race ./...

# Generate coverage report
go test -cover ./...

Performance

Event-Integrator Core can process thousands of events per second depending on:

  • Handler complexity
  • Storage backend
  • Worker count
  • Event payload size

See performance tuning guide for optimization tips.

Contributing

See CONTRIBUTING.md for development guidelines.

License

MIT License - see LICENSE file for details