Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rob-blackbourn/jetblack-messagebus
A real time message bus written in C# on dotnet 6.0
https://github.com/rob-blackbourn/jetblack-messagebus
messagebus messaging pubsub
Last synced: about 1 month ago
JSON representation
A real time message bus written in C# on dotnet 6.0
- Host: GitHub
- URL: https://github.com/rob-blackbourn/jetblack-messagebus
- Owner: rob-blackbourn
- License: apache-2.0
- Created: 2019-08-30T10:45:15.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-28T12:15:01.000Z (3 months ago)
- Last Synced: 2024-10-28T15:50:27.500Z (3 months ago)
- Topics: messagebus, messaging, pubsub
- Language: C#
- Homepage: https://rob-blackbourn.github.io/jetblack-messagebus/
- Size: 978 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jetblack-messagebus
A real time message bus written in .Net Core 3.1 running on Linux.
This is work in progress.
[Read the docs.](https://rob-blackbourn.github.io/jetblack-messagebus/)
## Features
- Broker based
- Broadcast feed
- Select feed
- SSL
- Authentication
- Authorization### Broker Based
A broker based message bus acts like a network switch or router. Clients subscribe to data that is published by other clients. All traffic passes through a hub which holds state about the subscriptions. This contrasts with programs like RabbitMQ which has a store and forward paradigm, and Kafka with a horizontally scalable architecture.
### Broadcast Feed
A broadcast feed publishes all of its data as soon as it is available. An example of this is the feed from a financial exchange. Typically every data event is published, and it is up to the client to filter out the unwanted information,
### Select Feed
In contrast to a broadcast feed, a select feed waits for a client to request the data before it starts to publish it. This presents less network traffic, but provides more complexity in the message bus and publisher.
### SSL
This message bus supports SSL connections between clients and the server.
### Authentication
Authentication is provided as a pluggable component. Out of the box three methods are supported:
- No authentication
- Password File
- LDAPSSL connections are recommended when using authentication to prevent password snooping.
### Authorization
Many financial feeds require the distribution of data to be restricted to those who have paid for it. This message bus supports such authorization, such that it will not transmit data to clients that are not entitled to receive it.
## Notes
On linux you may have to add the following lines to `/etc/sysctl.conf`:
```bash
fs.inotify.max_user_watches = 524288
fs.inotify.max_user_instances = 524288
```