Search code examples
fiwarefiware-orionfiware-scorpiofiware-fogflowfiware-stellio

Difference between Fiware Scorpio Broker and Orion Broker


Multiple brokers are available over Fiware,

  1. Which have better performance Fiware Scorpio Broker and Orion Broker?
  2. Does Orion Broker is NGSI-LD compliance and what is its roadmap to achieve the NGSI-LD specification?

Solution

  • The FIWARE Catalogue currently contains four context brokers:

    • Orion - NGSI-v2 only
    • Orion-LD - mixed NGSI-LD and NGSI-v2 support
    • Scorpio - NGSI-LD only
    • Stellio - NGSI-LD only

    Orion-LD is a fork from the original Orion repository and aims to be merged back at some point. It is the only context broker which can service both NGSI-v2 and NGSI-LD.

    Scorpio and Stellio are pure NGSI-LD brokers which don't require the compromises of having to serve both syntaxes. Scorpio positions itself as the heavyweight broker, with a strong interest in federations. Stellio is somewhere in the middle between Scorpio and Orion.

    All NGSI-LD brokers are trying to align to the ETSI standard, however new features are still being added (the latest ESTI update, the 1.3.1 specification was a couple of months ago). My understanding is that Orion complies with 95% of the 1.2.1 specification (excluding the temporal API). Scorpio is probably higher but some minor differences can be found within payloads

    Running an ACID test NGSI-LD Test-Suite returns the following for Scorpio:

    Test Suites: 1 failed, 36 passed, 37 total
    Tests:       1 failed, 168 passed, 169 total
    Snapshots:   0 total
    Time:        38.595s
    

    And the following for Orion-LD (where the majority of failed suites are for the optional temporal API which Orion-LD does not support directly)

    Test Suites: 8 failed, 29 passed, 37 total
    Tests:       22 failed, 147 passed, 169 total
    Snapshots:   0 total
    

    The roadmap for Orion-LD can be found here within the GitHub repository.