EnSync Components Overview
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:
1. Node Engine
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.
2. Config Manager
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.
3. Client Libraries (SDKs)
EnSync provides lightweight SDKs for various programming languages, making it easy to integrate with the platform:
More SDKs coming soon
These libraries handle the complexities of connecting to EnSync, including authentication, encryption, and message formatting.
4. Database Layer
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
5. Cache Layer
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
Configuration Phase:
Administrators use the Config Manager to define event structures, create access keys, and set permissions
Services register with EnSync using the provided access keys
Event Publishing:
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
Event Delivery:
The Node Engine manages event queues and delivery
Consumer services receive events through persistent WebSocket connections
Delivery acknowledgments ensure reliable processing
Monitoring and Management:
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:
Review the Introduction for a complete overview of EnSync's capabilities
Explore the Config Manager documentation to learn about system configuration
Understand the Node Engine to optimize your event delivery
Benefits of EnSync's Architecture
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.