Skip to content

Latest commit

 

History

History
161 lines (129 loc) · 6.33 KB

File metadata and controls

161 lines (129 loc) · 6.33 KB
title Components of EnSync
description Learn about the key components that make up the EnSync platform and how they work together

EnSync is a powerful real-time event delivery and integration engine designed to connect systems seamlessly. This document provides an overview of the key components that make up the EnSync platform and how they work together to enable reliable, structured message exchange between systems.

Core Components

EnSync's architecture consists of several interconnected components that work together to provide a complete event delivery and integration solution:

The central component responsible for managing the flow of events between producers and consumers. Provides essential configuration and access management features for the EnSync platform. Lightweight SDKs for various programming languages to easily integrate with EnSync. Persistent storage for message retention, system configuration, and event history. High-performance caching for improved system performance and throughput.

Detailed Component Breakdown

The Node Engine is the central component of the EnSync system, responsible for managing the flow of events between producers and consumers. It acts as the backbone of the entire event distribution system, ensuring reliable and efficient communication.
**Key Capabilities:**

- Event management and delivery
- Queue management with prioritization
- Client connection handling via WebSockets
- Reliability features with at-least-once delivery guarantees
- Horizontal scaling for high performance

The Node Engine handles the complexities of event distribution so that your applications can focus on business logic.
The Config Manager provides essential configuration and access management features for the EnSync platform. It serves as the control center for managing how different parts of the EnSync ecosystem communicate and access resources.
**Key Capabilities:**

- Access key management for secure authentication
- Permission control with fine-grained access rules
- Workspace management for environment separation
- Event definition management
- API access through RESTful endpoints
- Comprehensive security features

The Config Manager gives you centralized control over your EnSync ecosystem, ensuring secure and controlled communication between components.
EnSync provides lightweight SDKs for various programming languages, making it easy to integrate with the platform:
- [Node.js SDK](/sdk/nodejs)
- More SDKs coming soon

These libraries handle the complexities of connecting to EnSync, including authentication, encryption, and message formatting.
The persistent storage layer for EnSync that handles:
- Message retention (configurable up to 30 days)
- System configuration storage
- Event history for replay capability
- Audit logging
A high-performance caching layer that improves system performance by:
- Reducing database load
- Providing fast access to frequently used data
- Supporting high-throughput message processing

How Components Work Together

- Administrators use the Config Manager to define event structures, create access keys, and set permissions - Services register with EnSync using the provided access keys - Producer services use client SDKs to publish events - Events are authenticated and validated by the Config Manager - Valid events are routed to the Node Engine for processing - The Node Engine manages event queues and delivery - Consumer services receive events through persistent WebSocket connections - Delivery acknowledgments ensure reliable processing - Administrators can monitor system health and performance - Event logs provide visibility into message flow - Configuration can be adjusted as needs evolve

Getting Started

To begin working with EnSync:

Complete overview of EnSync's capabilities Learn about system configuration Optimize your event delivery

Benefits of EnSync's Architecture

EnSync's component-based architecture provides significant advantages for businesses looking to build robust integration solutions.

Modularity

Components can be scaled independently based on load

Resilience

Fault tolerance is built into each component

Security

End-to-end encryption with granular access control

Performance

Optimized for high-throughput message processing

Flexibility

Adaptable to various integration scenarios

By understanding how these components work together, you can leverage the full power of EnSync to create robust, real-time integrations for your business applications.