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

Support running on a cluster of nodes #80

Merged
merged 26 commits into from
Nov 4, 2017
Merged

Conversation

slashdotdash
Copy link
Member

Initial changes required to support running Commanded on a cluster of nodes.

A Commanded.Registration module has been added to provide the behaviour to be implemented for process registration and distribution.

Commanded is supplied with a local registry, using Elixir's Registry module, that is restricted to running on a single node.

For cluster support an external library will be needed. The reference implementation uses Swarm to distribute processes and will be published as commanded_swarm_registry.

Fixes #39

Initial implementation is based on Elixir's `Registry` module for local only processes.

The defined behaviour allows additional registries to be built (e.g. a Swarm based distributed registry for clusters).
To support test execution outside Commanded.
To allow reuse externally by event store adapter and registration providers.
Add `@moduledoc` where missing.
To support test reuse by external libs.
To handle scenario where agent has not been started before its state is requested.
@slashdotdash slashdotdash merged commit c9e82fb into master Nov 4, 2017
@slashdotdash slashdotdash deleted the feature/cluster branch November 4, 2017 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant