jellyfish

module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2022 License: Apache-2.0

README

Jellyfish in-memory broker message.

Jellyfish

Philosophy:

A basic message broker that can solve the most pressing development problems. The main idea: scale without pain.

Design:

[SENDING]: The messaging design based on grpc format.

[TOPIC]: The topic is a route (place) where a message will be sent and where it will be stored.

[PARTITION]: The partition is a way to scale a broker.

Quick Start:

Make config from template:
cat configs/broker.yaml.template >> configs/broker.yaml
Start broker:
go run cmd/broker.go

A Config by once file looks like this:

addr: 'localhost:7654'

A Config by slaves file looks like this:

addr: 'localhost:7654'
slaves:
    - 'localhost:7653'
    - 'localhost:7652'
    - 'localhost:7651'
If you want start with replicas
  • run slave broker
  • run master broker with config slaves
Future:

  • add the ability to save sent messages
  • add smarter reallocation implementation
  • better consider data replication properties

Directories

Path Synopsis
_examples
cmd
internal
broker
Package broker
Package broker
config
Package config
Package config
pkg
protogenerated

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL