All Projects → mizrael → WebApiWithBackgroundWorker

mizrael / WebApiWithBackgroundWorker

Licence: other
Small demo showing how to implement Pub/Sub with a BackgroundWorker in .NET Core

Programming Languages

C#
18002 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to WebApiWithBackgroundWorker

Meiam.system
.NET 5 / .NET Core 3.1 WebAPI + Vue 2.0 + RBAC 企业级前后端分离权限框架
Stars: ✭ 340 (+518.18%)
Mutual labels:  rabbitmq, webapi
watermill-amqp
AMQP Pub/Sub for the Watermill project.
Stars: ✭ 27 (-50.91%)
Mutual labels:  rabbitmq, pubsub
Dotnetlabs
.NET Labs -- Show Me the Tips and Tricks and Code
Stars: ✭ 135 (+145.45%)
Mutual labels:  rabbitmq, webapi
celery-connectors
Want to handle 100,000 messages in 90 seconds? Celery and Kombu are that awesome - Multiple publisher-subscriber demos for processing json or pickled messages from Redis, RabbitMQ or AWS SQS. Includes Kombu message processors using native Producer and Consumer classes as well as ConsumerProducerMixin workers for relay publish-hook or caching
Stars: ✭ 37 (-32.73%)
Mutual labels:  rabbitmq, pubsub
Garagemq
AMQP message broker implemented with golang
Stars: ✭ 153 (+178.18%)
Mutual labels:  rabbitmq, pubsub
rabbitmq-rtopic-exchange
RabbitMQ Reverse Topic Exchange
Stars: ✭ 25 (-54.55%)
Mutual labels:  rabbitmq
simple redis
Simple and resilient redis client for rust.
Stars: ✭ 21 (-61.82%)
Mutual labels:  pubsub
dotnet-webapi-boilerplate
Clean Architecture Template for .NET 6.0 WebApi built with Multitenancy Support.
Stars: ✭ 2,200 (+3900%)
Mutual labels:  webapi
tacc stats
TACC Stats is an automated resource-usage monitoring and analysis package.
Stars: ✭ 36 (-34.55%)
Mutual labels:  rabbitmq
Go-gRPC-RabbitMQ-microservice
Go gRPC RabbitMQ email microservice
Stars: ✭ 107 (+94.55%)
Mutual labels:  rabbitmq
Java-CS-Record
记录准备春招实习过程中,学习与复习的知识(模块化整理,非面试题速成)。注:暂停更新,后续请移步博客
Stars: ✭ 73 (+32.73%)
Mutual labels:  rabbitmq
Pubbie
A high performance pubsub client/server implementation for .NET Core
Stars: ✭ 122 (+121.82%)
Mutual labels:  pubsub
ml-ops
Get your MLOps (Level 1) platform started and going fast.
Stars: ✭ 81 (+47.27%)
Mutual labels:  rabbitmq
microservices-v9
Learn Microservices with Spring Boot - v9
Stars: ✭ 40 (-27.27%)
Mutual labels:  rabbitmq
CotacaoMonetariaBot
Chatbot para cotação de algumas moedas estrangeiras para o Real (BRL).
Stars: ✭ 27 (-50.91%)
Mutual labels:  webapi
Online-Judge
Online Judge for hosting coding competitions inside NIT Durgapur made by GNU/Linux Users' Group!
Stars: ✭ 19 (-65.45%)
Mutual labels:  rabbitmq
cottontail
Capture all RabbitMQ messages being sent through a broker.
Stars: ✭ 23 (-58.18%)
Mutual labels:  rabbitmq
ms-identity-javascript-react-spa-dotnetcore-webapi-obo
A React & Redux single-page application that authorizes an ASP.NET Core web API to call MS Graph API on-behalf-of a signed-in user.
Stars: ✭ 62 (+12.73%)
Mutual labels:  webapi
terraform-splunk-log-export
Deploy Google Cloud log export to Splunk using Terraform
Stars: ✭ 26 (-52.73%)
Mutual labels:  pubsub
rabbitmq-jms-client
RabbitMQ JMS client
Stars: ✭ 51 (-7.27%)
Mutual labels:  rabbitmq

Description

This repository contains a simple implementation of Pub/Sub in .NET Core. This code has been used as example accompaining a series of articles on my personal blog: https://www.davideguida.com/consuming-message-queues-using-net-core-background-workers-part-1-message-queues/

The Publisher

The Publisher is implemented a simple Console application. The user will be prompted to write a text message which will be sent to a RabbitMQ fanout exchange.

The Subscriber

The Subscriber is implemented as a .NET Core Background Worker hosted in a Web API. The Worker is starting the subscriber and listening for incoming messages.

Messages are internally processed using a Producer/Consumer mechanism leveraging the System.Threading.Channels library.

Once a message is received, the worker will send it to a Producer which will then dispatch on a Channel. A certain number of Consumers has been registered at bootstrap. The first available Consumer will pick up the message and store it in a repository.

The Web API exposes a single GET endpoint /messages which will return the list of received messages.

For more details about Producer/Consumer, check this article: https://www.davideguida.com/how-to-implement-producer-consumer-with-system-threading-channels/

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].