All Projects → ThreeDotsLabs → event-driven-example

ThreeDotsLabs / event-driven-example

Licence: MIT license
An example Event-Driven application in Go built with Watermill library.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to event-driven-example

Watermill
Building event-driven applications the easy way in Go.
Stars: ✭ 3,504 (+4225.93%)
Mutual labels:  rabbitmq, event-driven, watermill
centos-script
🎉centos下工具安装脚本,包含基础环境配置,Gitlab、Docker、LDAP、MongoDB、MySQL、RabbitMQ、Supervisor、Node、Python、zsh、rar、zabbix、k8s、prometheus、grafana等🎉
Stars: ✭ 121 (+49.38%)
Mutual labels:  rabbitmq, grafana
epiphany
Cloud and on-premises automation for Kubernetes centered industrial grade solutions.
Stars: ✭ 114 (+40.74%)
Mutual labels:  rabbitmq, grafana
Pitstop
This repo contains a sample application based on a Garage Management System for Pitstop - a fictitious garage. The primary goal of this sample is to demonstrate several software-architecture concepts like: Microservices, CQRS, Event Sourcing, Domain Driven Design (DDD), Eventual Consistency.
Stars: ✭ 708 (+774.07%)
Mutual labels:  rabbitmq, event-driven
ml-ops
Get your MLOps (Level 1) platform started and going fast.
Stars: ✭ 81 (+0%)
Mutual labels:  rabbitmq, grafana
Go-gRPC-RabbitMQ-microservice
Go gRPC RabbitMQ email microservice
Stars: ✭ 107 (+32.1%)
Mutual labels:  rabbitmq, grafana
Plumber
A swiss army knife CLI tool for interacting with Kafka, RabbitMQ and other messaging systems.
Stars: ✭ 514 (+534.57%)
Mutual labels:  rabbitmq, event-driven
Run Aspnetcore Microservices
Microservices on .Net platforms which used Asp.Net Web API, Docker, RabbitMQ, MassTransit, Grpc, Ocelot API Gateway, MongoDB, Redis, PostgreSQL, SqlServer, Dapper, Entity Framework Core, CQRS and Clean Architecture implementation. Also includes Cross-Cutting concerns like Implementing Centralized Distributed Logging with Elasticsearch, Kibana and SeriLog, use the HealthChecks with Watchdog, Implement Retry and Circuit Breaker patterns with Polly and so on.. See Microservices Architecture and Step by Step Implementation on .NET Course w/ discount->
Stars: ✭ 406 (+401.23%)
Mutual labels:  rabbitmq, event-driven
Spring Cloud Stream Demo
Simple Event Driven Microservices with Spring Cloud Stream
Stars: ✭ 58 (-28.4%)
Mutual labels:  rabbitmq, event-driven
Rabbus
A tiny wrapper over amqp exchanges and queues 🚌 ✨
Stars: ✭ 86 (+6.17%)
Mutual labels:  rabbitmq, event-driven
Dotnet Istanbul Microservices Demo
This is the demo application that i created for my talk 'Microservice Architecture & Implementation with Asp.Net Core' at Dotnet İstanbul Meetup Group.
Stars: ✭ 109 (+34.57%)
Mutual labels:  rabbitmq, event-driven
spring-cloud-stream-outbox-extension
Spring Cloud Stream Transactional Messaging Extension
Stars: ✭ 18 (-77.78%)
Mutual labels:  rabbitmq, event-driven
docker-case
这个项目主要是为了快速拉起docker服务
Stars: ✭ 31 (-61.73%)
Mutual labels:  rabbitmq, grafana
watermill-amqp
AMQP Pub/Sub for the Watermill project.
Stars: ✭ 27 (-66.67%)
Mutual labels:  rabbitmq, watermill
Remit
RabbitMQ-backed microservices supporting RPC, pubsub, automatic service discovery and scaling with no code changes.
Stars: ✭ 24 (-70.37%)
Mutual labels:  rabbitmq, event-driven
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (+61.73%)
Mutual labels:  rabbitmq, event-driven
Qmq
QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。
Stars: ✭ 2,420 (+2887.65%)
Mutual labels:  rabbitmq, event-driven
grabbit
A lightweight transactional message bus on top of RabbitMQ
Stars: ✭ 87 (+7.41%)
Mutual labels:  rabbitmq
your-connection-deserves-a-name
Examples and code to assign a name to your MongoDB, MySQL, NATS, Oracle, PostgreSQL, RabbitMQ, and redis connection.
Stars: ✭ 26 (-67.9%)
Mutual labels:  rabbitmq
grafana-chinamap-panel
China Map Panel Plugin for Grafana.
Stars: ✭ 18 (-77.78%)
Mutual labels:  grafana

Event-Driven application example

This is an example Event-Driven application written in Go, using Watermill.

The projects aims to integrate incoming GitHub webhooks with Grafana and Slack, essentially adding annotations and sending messages when a new commit is pushed. There are also simulated deployment messages sent over RabbitMQ to demonstrate working with multiple event streams.

An example result can look like this:

Running

If you'd like to integrate the example with your Slack workspace, copy .env-example to .env and fill in the webhook URL in SLACK_WEBHOOK_URL variable.

In addition to the application, the docker-compose environment consists of:

  • Kafka and ZooKeeper
  • RabbitMQ
  • Grafana
  • Prometheus

The whole environment can be run with:

docker-compose up

You can now configure your GitHub repository to send webhooks to the application (you need to expose port 8080 to the external network first).

Alternatively, you can run ./scripts/send-stub-webhook.sh to send some stub webhooks.

Visit localhost:3000/d/webhooks to see annotations added in Grafana. Use admin:secret as credentials.

Metrics

You can access the Watermill dashboard at localhost:3000/d/watermill. See what changes when you send more webhooks over time.

What's next?

See Watermill's documentation to learn more.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].