Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benmeehan/goscribe
A fast, simple, pure golang pub-sub broker.
https://github.com/benmeehan/goscribe
broker golang pubsub
Last synced: about 2 months ago
JSON representation
A fast, simple, pure golang pub-sub broker.
- Host: GitHub
- URL: https://github.com/benmeehan/goscribe
- Owner: BenMeehan
- License: mit
- Created: 2023-01-28T10:10:43.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-28T10:22:54.000Z (almost 2 years ago)
- Last Synced: 2024-06-21T19:05:59.176Z (7 months ago)
- Topics: broker, golang, pubsub
- Language: Go
- Homepage:
- Size: 3.06 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GoScribe
GoScribe is a minimal pub-sub broker written in pure golang.## Usage
1. "sub _topic_" - subscribe to a topic
2. "unsub _topic_" - unsubscribe from a topic
3. "pub _topic_" - publish to a topic
4. "ls" - list all topics
5. "quit" - disconnect from the broker## How to run
1. clone this repo
`git clone https://github.com/BenMeehan/goscribe.git`
2. cd into the cloned directory
3. run `go build`
4. run the resultant binary `./goscribe [-h HOST] [-p PORT]`Note : HOST and PORT are optional. Defaults to 0.0.0.0 and 8090
## Demo using telnet
![demo.gif](./GIFS/A.gif)## Gotcha's
GoScribe is a very simple broker. Think of it as a chat room server but for pub-sub. It does not provide any message persistance or queueing for now. What is not recieved by the subscribers is lost for ever!## TODO
- [x] client library
- [x] queueing messages inside broker
- [x] message persistence
- [x] health check if subscribers***Thanks to [Pilutau](https://www.youtube.com/watch?v=Sphme0BqJiY) for inspiring this project.***