Skip to content

Architecture

Charles d'Avernas edited this page Aug 14, 2024 · 10 revisions

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.

API Server

Overview

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).

Key Functions

  • 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.

Best Practices for Usage

  • 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.

Operator

Overview

The Operator manages the execution and lifecycle of workflows and workflow instances within Synapse.

Key Functions

  • Workflow Management: Controls the initiation and execution of workflows.
  • Workflow Instance Control: Oversees the lifecycle of workflow instances, including starting, stopping, and monitoring.

Best Practices

  • 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.

Runner

Overview

The Runner executes individual instances of workflows, handling the tasks and transitions defined in the workflow.

Key Functions

  • Task Execution: Processes tasks according to workflow definitions.
  • Instance Isolation: Ensures that each workflow instance operates independently to maintain data integrity.

Best Practices

  • Monitor Task Processing: Keep track of task execution metrics to identify and resolve potential issues.

Correlator

Overview

The Correlator performs Complex Event Processing (CEP) by analyzing and correlating ingested events based on predefined rules.

Key Functions

  • Event Correlation: Detects and processes events to identify patterns and relationships.
  • Pattern Recognition: Recognizes complex patterns within the event stream.

Best Practices

  • 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.

CLI

Overview

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.

Clone this wiki locally