Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin Architecture #7

Open
peterbroadhurst opened this issue May 14, 2021 · 0 comments
Open

Plugin Architecture #7

peterbroadhurst opened this issue May 14, 2021 · 0 comments
Assignees

Comments

@peterbroadhurst
Copy link
Contributor

peterbroadhurst commented May 14, 2021

See #4 for info on why this is in Git

FireFly Three Layered Plugin Architecture

In #6 the extensible nature of the FireFly node is described, with separate pluggable runtimes orchestrated into a common API for developers.

Here the mechanic of that pluggability for developers of new connectors is explained:

Firefly _ Asset Trail - architecture whiteboard (11)

This architecture is designed to provide separations of concerns to account for:

  • Differences in code language for the low-level connection to a backend (Java for Corda for example)
  • Differences in transports, particularly for delivery of events:
    • Between FireFly Core and the Connector
      • Different transports other than HTTPS/WebSockets (GRPC etc.), and different wire protocols (socket.io, etc.)
    • Between the Connector and the underlying Infrastructure Runtime
      • Often this is heavy lifting engineering within the connector
  • Differences in High Availability (HA) / Scale architectures
    • Between FireFly Core, and the Connector
      • Often for event management, and active/passive connector runtime is sufficient
    • Between the Connector and the Infrastructure Runtime
      • The infrastructure runtimes have all kinds of variation here... think of the potential landscape here from PostreSQL through Besu/Fabric/Corda, to Hyperledger Avalon and even Main-net ethereum
@peterbroadhurst peterbroadhurst self-assigned this May 14, 2021
awrichar pushed a commit that referenced this issue Jun 7, 2021
* Subscribe with retry

* More consistent loggin

Signed-off-by: Peter Broadhurst <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant