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

Geo-Distribution Project #948

Closed
sebastianburckhardt opened this issue Oct 27, 2015 · 6 comments
Closed

Geo-Distribution Project #948

sebastianburckhardt opened this issue Oct 27, 2015 · 6 comments

Comments

@sebastianburckhardt
Copy link
Contributor

Let's use this issue to discuss the proposed geo-distribution features, and to track progress.

Also see:

@johnkattenhorn
Copy link

I know I'm not supposed to say thanks, but thanks @sebastianburckhardt, we can't wait to get our hands on the code :-)

@sebastianburckhardt
Copy link
Contributor Author

Ok, code is here! Sorry for the long delay - I had to separate out the parts that are ready to release, and break them into branches. You can look at all the branches at https://github.com/sebastianburckhardt/orleans.

Here is a description of the branches and how they are related:

  • geo-multiclusternetwork Multi-Cluster Network #1109 contains code for configuration and operation of multi-cluster-network, and for explicit calling of grains in remote clusters.
  • geo-graindirstruct GrainDirectory Refactoring and Multi-Cluster Registration #1108 contains a refactoring of the grain directory structure (reduces code duplication in local and remote grain directories) and introduces a mechanism for choosing the multi-cluster registration strategy.
  • geo-globalsingleinstance contains the implementation of the global single-instance grain. It depends on geo-graindirstruct.
  • geo-queuedgrain contains the QueuedGrain API, defines replication providers, and contains one such provider (which can wrap a regular storage provider). It depends on geo-multiclusternetwork.
  • geo-docs contains documentation
  • geo-samples contains all the other branches taken together, and also some Azure samples for the single-instance grain and for the queued grain.

@gabikliot gabikliot added this to the Multi-Cluster milestone Dec 3, 2015
@sebastianburckhardt
Copy link
Contributor Author

FYI: I have added an experimental branch showing how one may provide an event-sourcing interface (journaledgrain) on top of the replication provider abstraction.

https://github.com/sebastianburckhardt/orleans/tree/geo-journaledgrain

It is not tested, and there are lots of things that can improved. But at least it shows how things can be hooked together.

@veikkoeeva
Copy link
Contributor

A modest question, is there documentation on how this affects storage? I see there are IGossipChannel and AzureTableBasedGossipChannel, but is there yet further information available? I think we should record issues for relational backend and ZooKeeper for adding the necessary structures.

@sebastianburckhardt
Copy link
Contributor Author

sebastianburckhardt commented Jun 28, 2016

An update on where we stand. We currently have two independent PRs open.

  • GSI protocol for multi-clusters #1800 is adding global-single-instance support. It's not quite finished - there are some open issues. Once resolved, this will be the first significant use of multi-cluster.
  • Log Consistency Providers #1854 adds log view providers. These represent the common functionality used by queued grains and event sourcing. Its use is not restricted to multi-cluster scenarios - it has benefits for single cluster as well. Once in, Log Consistency Providers #1854 will unlock the next PRs for queued grain (likely going to be renamed, e.g. VersionedGrain) and for event sourcing.

Once #1854 is in, we can add event sourcing support easily - just add a syntactic layer on top to create the JournaledGrain API, and add log view provider at the bottom to interface with event stores. We already have a draft of this working (thanks to contributions by @jkonecki early this year).

@sergeybykov sergeybykov modified the milestones: Multi-Cluster, Backlog Nov 3, 2016
@jason-bragg
Copy link
Contributor

Feature has been merged.

@ghost ghost locked as resolved and limited conversation to collaborators Sep 30, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants