zarusz / SlimMessageBus

Lightweight message bus interface for .NET (pub/sub and request-response) with transport plugins for popular message brokers.
Apache License 2.0
451 stars 75 forks source link

Database transport #195

Open Aghlara opened 8 months ago

Aghlara commented 8 months ago

It is refreshing to see some alternatives to Rebus. Do you have any plan to implement Database transport?

zarusz commented 8 months ago

hey @Aghlara, I did not consider on adding DB transport, but I guess it might be an easy way for some applications to start doing messaging without having to provision any messaging system.

So yes, we can add a plugin to support that on the roadmap.

Do you have a particular design in mind (or example)? Is this just a messages table per service or more of a shared DB for each service? Are you thinking about SQL dbs or document ones like MongoDB?

Would you have time to contribute or you would lean on the contributors here to help with that?

GMillerVarian commented 8 months ago

+1

We would love to see something like this, to eliminate our dependency on Redis.

Aghlara commented 8 months ago

Here is what I have in mind: the DB transport is generally very easy as most of the applications that want to use BUS capabilities are generally complex enough that they already deploy a database of some sort.

We need to have:

  1. MSSQL and PGSQL support (for the start)
  2. Support for topics
  3. Potentially a single table, with configurability around naming and target database
  4. Not relying on a service broker, db should be purely for storage purposes - which means pulling will be required.
  5. Ability to read multiple messages with specific criteria e.g. topic, tags etc.

Cheers,

zarusz commented 6 months ago

I have started the implementation for this SQL transport. Once a preview version is available I will let you know.