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

Internal Event Sequencing Model - The FireFly Stream of Consciousness #11

Open
peterbroadhurst opened this issue May 16, 2021 · 0 comments
Assignees

Comments

@peterbroadhurst
Copy link
Contributor

See #4 for info on why this is in Git

FireFly Internal Event Sequencing Model

One of the most important roles FireFly has, is to take actions being performed by the local apps, process them, get them confirmed, and then deliver back as "stream of consciousness" to the application alongside all the other events that are coming into the application from other FireFly Nodes in the network.

FireFly Internal Event Sequencing Model)

You might observe the problems solved in this architecture are similar to those in a message queuing system (like Apache Kafka, or a JMS/AMQP provider like ActiveMQ etc.).

However, we cannot directly replace the internal logic with such a runtime - because FireFly's job is to aggregate data from multiple runtimes that behave similarly to these:

  • Private messaging in the Data Exchange
  • The blockchain ledger(s) themselves, which are a stream of sequenced events
  • The event dispatcher delivering messages to applications that have been sequenced by FireFly

So FireFly provides the convenient REST based management interface to simplify the world for application developers, by aggregating the data from multiple locations, and delivering it to apps in a deterministic sequence.

The sequence is made deterministic:

  • Globally to all apps within the scope of the ledger, when a Blockchain ledger is used to pin events (see Multi-party Event Sequencing for Multi-Party Business Processes #10)
  • Locally for messages delivered through a single FireFly node into the network
  • Locally for all messages delivered to applications connected to a FireFly node, across blockchain
@peterbroadhurst peterbroadhurst changed the title Event Sequencing and Management - The FireFly Stream of Consciousness Internal Event Sequencing Model - The FireFly Stream of Consciousness May 16, 2021
awrichar pushed a commit that referenced this issue Jun 7, 2021
Axios retry

Signed-off-by: Gabriel Indik <gabriel.indik@kaleido.io>
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

3 participants