-
Notifications
You must be signed in to change notification settings - Fork 38
Architecture
Synapse is built upon a microservice-oriented architecture designed to enhance scalability, resilience, and maintainability. Each microservice is specialized to handle specific aspects of the system, allowing for effective management and optimization. This document provides an in-depth look at each of the core components that make up Synapse and offers best practices for their usage.
The API Server is the central hub for managing Synapse resources and provides the HTTP API that facilitates communication with other components and users. It also optionally serves the Dashboard, which is Synapse's graphical user interface (GUI).
- Resource Management: Handles CRUD operations for Synapse resources such as workflows, correlators, and operators.
- Dashboard (Optional): Offers a web-based interface for visual interaction with Synapse components.
- Secure API Access: Implement and manage authentication and authorization to protect access to the API.
- Monitor API Performance: Use monitoring tools to track the performance and health of the API server, including response times and error rates.
- Optimize Dashboard Usage: Regularly review and update the Dashboard to ensure it meets user needs and reflects current system states.
The Operator manages the execution and lifecycle of workflows and workflow instances within Synapse.
- Workflow Management: Controls the initiation and execution of workflows.
- Workflow Instance Control: Oversees the lifecycle of workflow instances, including starting, stopping, and monitoring.
- Ensure Workflow Resilience: Monitor workflow execution and implement strategies to handle failures or retries effectively.
- Balance Load: Optimize scheduling and resource allocation to prevent bottlenecks and maintain system performance.
- Regular Monitoring: Continuously monitor the status and performance of workflows to ensure smooth operation.
The Runner executes individual instances of workflows, handling the tasks and transitions defined in the workflow.
- Task Execution: Processes tasks according to workflow definitions.
- Instance Isolation: Ensures that each workflow instance operates independently to maintain data integrity.
- Monitor Task Processing: Keep track of task execution metrics to identify and resolve potential issues.
The Correlator performs Complex Event Processing (CEP) by analyzing and correlating ingested events based on predefined rules.
- Event Correlation: Detects and processes events to identify patterns and relationships.
- Pattern Recognition: Recognizes complex patterns within the event stream.
- Define Effective Rules: Regularly review and update correlation rules to ensure accurate event detection and processing.
- Monitor Event Streams: Use monitoring tools to track the performance of event processing and identify any anomalies.
- Optimize Performance: Fine-tune correlation rules and processing settings to handle high volumes of events efficiently.
The Command Line Interface (CLI) allows users to interact with Synapse's API directly from the command line. It supports a range of operations including resource management and workflow control.