Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save gregoryyoung/7216667ded4d5b394da1c072a47f3cb2 to your computer and use it in GitHub Desktop.
Save gregoryyoung/7216667ded4d5b394da1c072a47f3cb2 to your computer and use it in GitHub Desktop.
"Patterns" {
"Event Logs" : {
"Introduction" : "eventlog_intro.md",
"Appending Event Log" : {
"shortDescription" : "A simple appending Event Log",
"longDescription" : "appendingfileeventlog.md",
"image" : "patterns/appendingfileeventlog.png"
},
"Event Log" : {
"shortDescription" : "An EventLog is a log containing a series of events.",
"longDescription" : "eventlog.md",
"image" : "patterns/eventlog.png"
},
"Segmented Event Log" : {
"shortDescription" : "A Segmented EventLog is a log which is made up of segments",
"longDescription" : "segmentedeventlog.md",
"image" : "patterns/segmentedeventlog.png"
},
"Distributed Event Log" : {
"shortDescription" : "A Distributed EventLog is a log which is distributed amongst many physical machines.",
"longDescription" : "distributedeventlog.md",
"image" : "patterns/distributedeventlog.png"
},
},
"Checkpoints" : {
"Introduction" : "checkpoint_intro.md",
"Memory Checkpoint" : {
"shortDescription" : "A Memory Checkpoint is an implementation of a Checkpoint stored in a database.",
"longDescription" : "memorycheckpoint.md",
"image" : "patterns/memorycheckpoint.png"
},
"File Checkpoint" : {
"shortDescription" : "A File Checkpoint is an implementation of a Checkpoint in a file.",
"longDescription" : "filecheckpoint.md",
"image" : "patterns/filecheckpoint.png"
},
"Database Checkpoint" : {
"shortDescription" : "A Database Checkpoint is an implementation of a Checkpoint stored in a database.",
"longDescription" : "dbcheckpoint.md",
"image" : "patterns/dbcheckpoint.png"
},
"Stream Checkpoint" : {
"shortDescription" : "A Checkpoint Stream is an implementation of a Checkpoint stored in a stream.",
"longDescription" : "checkpointstream.md",
"image" : "patterns/checkpointstream.png"
},
"Shared Checkpoint" : {
"shortDescription" : "A Shared Checkpoint is a Checkpoint which is shared between multiple consumers.",
"longDescription" : "checkpointstream.md",
"image" : "patterns/checkpointstream.png"
},
"Consensus Checkpoint" : {
"shortDescription" : "A Consensus Checkpoint is an implementation of a Checkpoint reached between multiple subscribers.",
"longDescription" : "consensuscheckpoint.md",
"image" : "patterns/consensuscheckpoint.png"
},
},
"Ids" : {
"Message Id" : {
"shortDescription" : "A Message Id is used to uniquely identify a message.",
"longDescription" : "messageid.md",
"image" : "patterns/messageid.png"
},
"Correlation Id" : {
"shortDescription" : "A Correlation Id is used to tie a group of messages together.",
"longDescription" : "correlationid.md",
"image" : "patterns/correlationid.png"
},
"Causation Id" : {
"shortDescription" : "A Causation Id shows the causative relationship between a group of messages.",
"longDescription" : "causationid.md",
"image" : "patterns/causationid.png"
},
"Conversation Id" : {
"shortDescription" : "A Conversation Id can tie together multiple Correlation Ids to show a longer term workflow.",
"longDescription" : "conversationid.md",
"image" : "patterns/conversationid.png"
},
},
"Projections" : {
"Introduction" : "projection_intro.md",
"Projection" : {
"shortDescription" : "A projection is an umbrella term often used.",
"longDescription" : "projection.md"
},
"Simple Projection" : {
"shortDescription" : "A somple projection.",
"longDescription" : "simpleprojection.md",
"image" : "projection/simpleprojection.png"
},
"File Projection" : {
"shortDescription" : "A projection which outputs to a file.",
"longDescription" : "fileprojection.md",
"image" : "projection/fileprojection.png"
},
"Inserting Projection" : {
"shortDescription" : "An Inserting Projection is a projection that inserts information per event.",
"longDescription" : "insertingprojection.md",
"image" : "projection/insertingprojection.png"
},
"Batched Projection" : {
"shortDescription" : "A Batched Projection is a projection that operates in batches as opposed to single operations.",
"longDescription" : "batchedprojection.md",
"image" : "projection/batchedprojection.png"
},
"Updating Projection" : {
"shortDescription" : "An Updating Projection is a projection that is maintaining current state.",
"longDescription" : "updatingprojection.md",
"image" : "projection/updatingprojection.png"
},
"Inserting Update Projection" :{
"shortDescription" : "An Inserting Update Projection is a projection that is essentially an Updating Projection but instead inserts",
"longDescription" : "insertingupdateprojection.md",
"image" : "projection/insertingupdateprojection.png"
},
"Report Projection" :{
"shortDescription" : "A Report Projection is a projection that produces the actual report as its output as opposed to a model.",
"longDescription" : "reportprojection.md",
"image" : "projection/reportprojection.png"
}
},
"Integration" : {
"Introduction" : "integration_intro.md",
"Integration Event" : {
"shortDescription" : "An Integration Event is an Event which is used for integration between services",
"longDescription" : "integrationevent.md"
},
"Event Aggregator" : {
"shortDescription" : "An Event Aggregator is a small piece of code which takes internal events and converts them to a well understand document form",
"longDescription" : "eventaggregator.md"
},
"Negotiating Aggregator" : {
"shortDescription" : "An Negotiating Aggregator is an Event Aggregator which supports multiple formats and Content Type Negotiation.",
"longDescription" : "eventaggregator.md"
},
"Event Sourced Process Manager" : {
"shortDescription" : "An Event Sourced Process Manager is an implementation of the Process Manager pattern that is Event Sourced",
"longDescription" : "eventsourceprocessmanager.md"
},
"Event Sourced Saga" : {
"shortDescription" : "An Event Sourced Saga is an implementation of the Saga pattern where the document contains a series of events",
"longDescription" : "eventsourcesaga.md"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment