Git Product home page Git Product logo

spring-cloud-stream-samples's Introduction

Spring Cloud Stream Sample Applications

This repository contains a collection of applications written using Spring Cloud Stream. All the applications are self contained. They can be run against either Kafka or RabbitMQ middleware technologies. You have the option of running the samples against local or Docker containerized versions of Kafka and Rabbit. For convenience, docker-compose.yml files are provided as part of each application wherever it is applicable. For this reason, Docker Compose is required and it’s recommended to use the latest version. These compose files bring up the middleware (kafka or Rabbit) and other necessary components for running each app. If you bring up Kafka or RabbitMQ in Docker containers, please make sure that you bring them down while in the same sample directory. You can read the README that is part of each sample and follow along the instructions to run them.

You can build the entire samples by going to the root of the repository and then do: ./mvnw clean package However, the recommended approach to build them is to pick the sample that you are interested in and go to that particular app and follow the instructions there in the README for that app.

Following is the list of various sample applications provided

Source samples

  • Sample JDBC source using MySQL - MariaDB variant - (Kafka and Rabbit)

  • Source with dynamic destinations (Kafka and Rabbit)

Sink samples

  • Simple JDBC sink using MariaDB (Kafka and Rabbit)

Processor samples

  • Basic StreamListener sample (Kafka and Rabbit)

  • Transformer sample (Kafka and Rabbit)

  • Reactive processor sample (Kafka and Rabbit)

  • Sensor average calculation using reactive patterns (Kafka and Rabbit)

Multi IO sample

  • Sample with multiple input/output bindings (Kafka and Rabbit)

Multi Binder samples

  • Multi binder - Input with Kafka and output with Rabbit

  • Multi binder - Same binder type but different clusters (Kafka only, but can be extended for Rabbit as well)

Kinesis

  • Kinesis produce consume sample

Kafka Streams samples

A collection of various applications in stream processing using Spring Cloud Stream support for Kafka Streams binding.

  • Kafka Streams word count

  • Kafka Streams branching

  • Kafka Streams DLQ

  • Kafka Streams aggregation

  • Kafka Streams Interactive query basic

  • Kafka Streams Interactive query advanced

  • Kafka Streams product tracker

  • Kafka Streams KTable join

  • Kafka Streams and normal Kafka binder together

Testing samples

  • Sample with embedded Kafka

  • General testing patterns in Spring Cloud Stream

Samples Acceptance Tests

This module is strictly used as an end to end acceptance test framework for the samples in this repo. By default, the tests are not run as part of a normal build. Please see the README in the acceptance test module for more details.

spring-cloud-stream-samples's People

Contributors

sobychacko avatar mbogoevici avatar ilayaperumalg avatar artembilan avatar garyrussell avatar bjartek avatar markfisher avatar jannikweichert avatar viniciusccarvalho avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.