FLECS
HomeMarketplaceRessourcesGet started
General
General
  • Introduction
    • ๐Ÿ‘‹Welcome to FLECS
    • ๐Ÿ’กWhat we do
    • โœจOur Features
  • ๐Ÿง Our Principles
  • FLECS Core
    • ๐Ÿ’กOverview
    • ๐Ÿ’พInstalling FLECS Core
    • ๐ŸŽŸ๏ธLicense activation
    • ๐Ÿ–ฑ๏ธApp Management
      • Install an App from the FLECS Marketplace
      • Updating an App in FLECS Core
      • Using your App with FLECS Core
      • Using the Import/Export Feature in FLECS Core
      • Sideload an App
    • ๐Ÿ“ฏExchanging data between apps
      • Connect Node-RED via Mosquitto MQTT to the Service Mesh
  • WebApp Whitelabeling
  • FLECS Marketplace
    • ๐Ÿ’กOverview
    • ๐Ÿ‹๏ธMy Account on FLECS Marketplace
      • ๐ŸŽซHow to Request a Quotation in the FLECS Marketplace
      • โ“How to Submit a Support Request for Marketplace Products
    • ๐ŸŽฌDevice Onboarding Service (D-O-S)
    • ยฎ๏ธWhitelabel the FLECS Marketplace
    • ๐Ÿ“ˆVendor Dashboard
      • How to Create or Edit a Product on the FLECS Vendor Dashboard
      • Adding Staff Members to the FLECS Vendor Dashboard
      • Managing Your Orders on the FLECS Vendor Dashboard
      • Managing Support Tickets via FLECS Vendor Dashboard
      • How To Handle Quotation Requests in the FLECS Marketplace
  • Fundamentals
    • ๐Ÿ› ๏ธFirst Steps with FLECS
      • Installing Linux Ubuntu on a Virtual Machine
      • Installing FLECS Core on a Windows PC using Docker Desktop
    • ๐Ÿท๏ธFLECS Whitelabeling Subscription
  • ๐Ÿ“šGlossary
  • Engineering
    • API Docs
    • App Publishing Guide
Powered by GitBook
On this page
  • Introduction to the FLECS Service Mesh
  • Addressing Inter-App Communication Challenges
  • Our Solution: Powered by Zenoh
  • Upgrade Notes for FLECS 3.x
  • Getting Started with FLECS Service Mesh
  • Step 1: Understanding the Architecture
  • Step 2: Setting Up Your Environment
  • Step 3: Configuring Communication Channels
  • Step 4: Real-Time Data Exchange
  • ๐Ÿ“˜ Developer Blueprint for flunder Integration
  • ๐Ÿงญ Next Steps

Was this helpful?

  1. FLECS Core

Exchanging data between apps

PreviousSideload an AppNextConnect Node-RED via Mosquitto MQTT to the Service Mesh

Last updated 4 days ago

Was this helpful?

Introduction to the FLECS Service Mesh

The FLECS Service Mesh is a key component in our industrial automation solutions, designed to enable seamless, efficient inter-app communication. It solves the traditional silo problem by providing a real-time communication layer based on Zenoh, optimized for high-throughput, low-latency industrial environments.

Addressing Inter-App Communication Challenges

Historically, applications operated in isolation, complicating system integration and slowing down processes. By introducing the Service Mesh, FLECS provides a backbone for real-time data exchange and system orchestration.

Our Solution: Powered by Zenoh

FLECS uses , an open-source protocol, to power the Service Mesh with Pub/Sub, Store, Query, and Compute features. This lean, fast, and flexible architecture is particularly well-suited for industrial applications.

Upgrade Notes for FLECS 3.x

  • System Apps No Longer Installed by Default: As of FLECS 3.x, tech.flecs.mqtt-bridge and tech.flecs.service-mesh are no longer included by default. Install them via the App Marketplace in the FLECS WebApp.

  • Manual Maintenance Required Post-Upgrade: When upgrading from previous versions, these apps must be uninstalled and reinstalled manually if needed.

Getting Started with FLECS Service Mesh

Step 1: Understanding the Architecture

The FLECS Service Mesh, uses a Pub/Sub mechanism for efficient data transfer across various protocols. Itโ€™s designed for low latency, high throughput, and minimal memory footprint, making it suitable for industrial applications requiring speed and reliability.

Step 2: Setting Up Your Environment

It's important to note that you need to install the Service Mesh and MQTT Bridge apps via the marketplace on your devices to utilize these functionalities. This step is crucial for enabling the full scope of features offered by the Service Mesh and ensuring efficient communication across your automation systems.

Step 3: Configuring Communication Channels

Configuring communication channels within the FLECS Service Mesh is crucial for optimal performance. Depending on your system's requirements and the nature of the apps you are using, there are two main options:

  1. Direct Connection via C or C++ Interface:

    • Pre-configured in Some Apps: It's important to note that some apps provided by vendors already include this direct connection option as a default feature. In such cases, users need not worry about setup complexities โ€” the app comes ready to integrate seamlessly with the Service Mesh for maximum performance.

  2. Integration via Mosquitto MQTT Broker and FLECS MQTT Bridge:

    • If you're integrating with an existing MQTT infrastructure, use the FLECS MQTT Bridge to connect to the 'flecs-mqtt' server through the standard MQTT port 1883 (non-encrypted communication).

    • This option is ideal for environments where MQTT is already in use, ensuring a smooth integration process while maintaining effective data exchange capabilities.

    • Connect Node-RED via Mosquitto MQTT to the Service Mesh

By choosing the appropriate communication setup, you can leverage the full capabilities of the FLECS Service Mesh, ensuring your automation system operates efficiently and reliably.

Step 4: Real-Time Data Exchange

While FLECS does not claim hard real-time performance, the Service Mesh is optimized for deterministic behavior with latencies in the range of 35โ€“45ยตs using the flunder client.

๐Ÿ“˜ Developer Blueprint for flunder Integration

To support developers building native integrations:

This guide shows how to:

  • Initialize a flunder client

  • Use structured messaging

  • Measure and optimize latency

  • Build real-time industrial apps using Zenoh


๐Ÿงญ Next Steps

  • Customize and extend with semantic topics and security

  • Contact us for whitepapers and advanced benchmark results

Ensure your devices are . The Service Mesh integrates seamlessly into the existing FLECS architecture, providing a unified layer for communication.

For the highest level of performance, particularly in scenarios demanding rapid data transfer and minimal latency, a direct connection using our C or C++ interfaces is recommended. Use the flunder client for highest performance. ๐Ÿ‘‰

For custom implementations or to understand how this integration works, refer to our GitHub repository for practical examples: .

๐Ÿ‘‰ Visit

Try the

๐Ÿ“ฏ
Zenoh
Integrate flunder into your app (Blueprint)
FLECS-Technologies/flunder
Integrate flunder into your app (C++ Blueprint)
flunder example on GitHub
connected and running FLECS Core