confluentinc / event-streaming-patterns

A collection of Event Streaming Patterns, including problem statements, solutions, and implementation examples.
Apache License 2.0
13 stars 6 forks source link

Event Streaming Patterns

This repository contains a collection of Event Streaming Patterns loosely based on Enterprise Integration Patterns from Gregor Hohpe and Bobby Woolf. Patterns are divided up into functional categories and provide descriptions, solutions, example code, and references.

You can see the live version of these patterns on the Confluent Developer site: https://developer.confluent.io/patterns

Questions?

Please head over to the Confluent Community Forum if you have questions or suggestions.

How to contribute

Request a new pattern

If you'd like to request the creation of a new Pattern, please search the existing Patterns and GitHub issue list to avoid adding a duplicate. If you do not see an existing pattern or issue, please submit a new GitHub issue using the "Pattern request" issues template, providing as many details about the pattern as possible.

Write a new pattern

Workflow

If you'd like to contribute a pattern, first follow the same procedure above, searching through existing GitHub issues or requesting a new pattern. Assign the GitHub issue to yourself before proceeding.

Fork the repository to your personal GitHub account. You can then copy the provided pattern-template.md file, which has details on the accepted layout and content for the pattern text, to create a new pattern file. Put the pattern file in the proper location, following a naming convention of pattern-category/pattern-name.md.

Patterns are authored in Markdown following the MkDocs file layout. Reference the Style Guide for information on writing and styling your pattern properly.

Add your new pattern file to the table of contents file at docs/meta.yml.

Once your pattern is complete, use standard GitHub workflow for filing a Pull Request against this project, targeting the main branch in the PR. Follow the PR description template and provide all of the requested information.

Pattern Diagram

Your new pattern must include a diagram in the Solution section, and it should be a technology agnostic visual representation of the pattern's implementation. The diagrams are stylized using Confluent colors and iconography. If you are a Confluent employee, you can use the diagrams in the Google slidedeck to build a new diagram. If you are not a Confluent Employee, you can provide an image in non-Confluent branding and provide it as part of the PR, and we can help you stylize it.

Build locally

To test your new pattern locally, you can build a local version of the patterns site with mkdocs.

Staging on GitHub

If you are a Confluent employee, you can stage the site using the mkdocs GitHub integration. From the main branch (in the desired state):

References