Warewolf
Rebus
Our great sponsors
Warewolf | Rebus | |
---|---|---|
0 | 16 | |
266 | 2,224 | |
0.8% | 1.2% | |
2.9 | 8.2 | |
6 days ago | 5 days ago | |
C# | C# | |
GNU Affero General Public License v3.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Warewolf
We haven't tracked posts mentioning Warewolf yet.
Tracking mentions began in Dec 2020.
Rebus
-
Message Queueing
I can recommend Rebus: https://github.com/rebus-org/Rebus β itβs the one I know best, because I made most of it π€ and it even has a Pro option, if you feel like upgrading in that direction too some time in the future.
-
how do you develop locally using Azure Service Bus?
The whole trick is that that's the headache of the implementor of the abstraction π (e.g. me, if you're using Rebus).
-
Agnostic Messaging Provider - Azure/Google/AWS
Rebus (https://github.com/rebus-org/Rebus)
- Which library do you use for message bus abstraction?
-
Pub Sub Framework Recomendations?
For multiprocess application (multiple services, containerized and also natives) I've used ReBus (https://github.com/rebus-org/Rebus) which was is API-compatible (for some version) with NServiceBus. We first used NServiceBus with RabbitMQ (Sagas stored in SqlServer) and then after migration to ReBus also messages and queues were in SqlServer.
-
Long-running business processes in F# with Rebus on Azure
Aside: Why are we messing around with the getters and setters for the Id and Revision properties in OnboardingSagaData? Well, by default, Rebus serialises to JSON (although you can choose another format, such as Protobuf and other (see here for more details)). In F#, all interfaces are explicit and so, to ensure that the JSON serialiser picks up the saga data's Id and Revision properties, we need to add some additional code so that we can see those properties from the interface and from a plain instance.
As you'd expect, there is superb support for testing too!
Compressing and encrypting the contents of messages
Controlling how Rebus serialises messages.
Controlling the number of workers and parallelism.
What are some alternatives?
MassTransit - Distributed Application Framework for .NET
NServiceBus - Build, version, and monitor better microservices with the most powerful service platform for .NET
RabbitMQ.NET - RabbitMQ .NET client for .NET Standard 2.0+ and .NET 4.6.2+
Kafka Client
EasyNetQ - An easy to use .NET API for RabbitMQ
CAP - Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern
Hangfire - An easy way to perform background job processing in .NET and .NET Core applications. No Windows Service or separate process required
Brighter - A framework for building messaging apps with .NET and C#.
OpenSleigh - OpenSleigh is a Saga management library for .NET Core.
MediatR - Simple, unambitious mediator implementation in .NET
NetMQ - A 100% native C# implementation of ZeroMQ for .NET
AdaskoTheBeAsT.MediatR.SimpleInjector and AdaskoTheBeAsT.MediatR.SimpleInjector.AspNetCore - MediatR extension to SimpleInjector