Skip to content

Simple console app to replicate data from a production EventStore to a local instance

License

Notifications You must be signed in to change notification settings

riccardone/EventStore.Tools.LinkerConsoleApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Linker introduction

Simple .Net Core console app, ready for use, to replicate data from between separate EventStore instances/clusters. More info on this article Cross Data Center Replication with Linker.
This is an example of Data Redundancy using Linker nuget package to replicate data from EventStore instances or clusters across different networks.

Get the latest release. Edit the appsettings.json to configure your linked EventStore's.

Open a command line, cd the folder and run the app: > dotnet LinkerConsoleApp.dll

Configuration Modes

This app make use of the appsettings.json file to configure Linked EventStore's. You can have as many Links as you need and as your running machine allow you to run. Even when you are replicating at full speed, the Linker logic make use of backpressure tecnique in order to not take the full amount of CPU and Memory available.

MultiMaster

Configure two links swapping the same Origin and Destination in order to configure a multi master replication.

Fan-Out

Configure the same Origin in separate Links replicating data to different destination for a Fan-Out solution.

Fan-In

You can have separate Links with different Origins linked with the same Destination for a Fan-In solution.

Sample configuration

Following is an example of configuration for Data Redundancy between one Origin and one Destination with an exclude filter.

{
  "links": [
    {
      "origin": {
        "connectionString": "tcp://localhost:1112",
        "user": "admin",
        "pass": "changeit",
        "connectionName": "origin-01"
      },
      "destination": {
        "connectionString": "tcp://localhost:2112",
        "user": "admin",
        "pass": "changeit",
        "connectionName": "destination-01"
      },
      "filters": [
        {
          "filterType": "stream",
          "value": "diary-input",
          "filterOperation": "exclude"
        },
        {
          "filterType": "stream",
          "value": "*",
          "filterOperation": "include"
        }
      ]
    }
  ]
}

About

Simple console app to replicate data from a production EventStore to a local instance

Resources

License

Stars

Watchers

Forks

Packages

No packages published