Skip to content

A collection of Event Streaming Patterns, including problem statements, solutions, and implementation examples.

License

Notifications You must be signed in to change notification settings

confluentinc/event-streaming-patterns

Repository files navigation

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.

  • Install mkdocs (https://www.mkdocs.org/)

    On macOS, you can use Homebrew:

    brew install mkdocs
  • Build and serve a local version of the site. In this step, mkdocs will give you information if you have any errors in your new pattern file.

    mkdocs serve
    
  • Point a web browser to the local site at http://localhost:8000 and navigate to your new pattern.

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

About

A collection of Event Streaming Patterns, including problem statements, solutions, and implementation examples.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages