Sandbox - Docs - Twitter - YouTube
Memphis{dev} is a message broker for developers made out of devs' struggles develop around message brokers.
Enables devs to achieve all other message brokers' benefits in a fraction of the time.
Focusing on automatic optimization, schema management, inline processing, and troubleshooting abilities. All under the same hood.
Utilizing NATS core.
Dashboard | Station (Topic) overview | CLI |
---|---|---|
Working with data streaming is HARD.
As a developer, you need to build a dedicated pipeline per data source,
change the schema, individual analysis, enrich the data with other sources, it constantly crashes, it requires adaptation to different rate limits, constantly change APIs, and scale for better performance π₯΅ .
It takes time and resources that you don't have.
Message broker is the answer. In short - It's an event-store.
Message broker acts as the middleman and supports streaming architecture,
but then you encounter Apache Kafka and its documentation and run back to the monolith and batch jobs.
Give memphis{dev} a spin before.
- Async task management
- Real-time streaming pipelines
- Data ingestion
- Cloud Messaging
- Services (microservices, service mesh)
- Event/Data Streaming (observability, analytics, ML/AI)
- Queuing
- N:N communication patterns
v0.3.0
- π Fully optimized message broker in under 3 minutes
- π» Easy-to-use UI, CLI, and SDKs
- πΊ Data-level observability
- β οΈ Dead-Letter Queue with automatic message retransmit
- SDKs: Node.JS, Go, Python, Typescript, NestJS
- π³βΈ Runs on your Docker or Kubernetes
- π¨βπ» Community driven
Roadmap
- Embedded schema store and transformation
- Inline processing
- Connectors and analysis functions
Sandbox
Installation videos
Helm for Kubernetes
helm repo add memphis https://k8s.memphis.dev/charts/ && \
helm install my-memphis memphis/memphis --create-namespace --namespace memphis
Docker Compose
curl -s https://memphisdev.github.io/memphis-docker/docker-compose.yml -o docker-compose.yml && \
docker compose -f docker-compose.yml -p memphis up
Tutorial: Build an event-driven food delivery app
To access Memphis UI from localhost, run the below commands:
1. kubectl port-forward service/memphis-ui 9000:80 --namespace memphis > /dev/null &
To access Memphis using CLI or SDK from localhost, run the below commands:
2. kubectl port-forward service/memphis-cluster 7766:7766 6666:6666 5555:5555 --namespace memphis > /dev/null &
Dashboard: http://localhost:9000
Memphis broker: localhost:5555 (Management Port) / 7766 (Data Port) / 6666 (TCP Port)
For Production Environments Please expose the UI, Cluster, and Control-plane via k8s ingress / load balancer / nodeport
Dashboard - http://localhost:9000
Broker - localhost:7766
Control-Plane - localhost:5555/6666
Memphis{dev} is currently in Beta version. This means that we are still working on essential features like real-time messages tracing,
Schema registry, and inline processing, as well as making more SDKs and supporting materials.
How does it affect you? Well... mostly it doesn't.
(a) The core of memphis broker is highly stable
(b) We learn&fix fast
But we need your love, and any help we can get by stars, PR, feedback, issues, and enhancments.
Read more on https://memphis.dev/docs
You can ask questions, and participate in discussions about Memphis{dev}-related topics in the Memphis Discord channel.
If you see an error message or run into an issue, please create bug report. This effort is valued and it will help all Memphis{dev} users.
If you have an idea, or you're missing a capability that would make development easier and more robust, please Submit feature request.
If a similar feature request already exists, don't forget to leave a "+1". If you add some more information such as your thoughts and vision about the feature, your comments will be embraced warmly :)
Memphis{dev} is an open-source project.
We are committed to a fully transparent development process and appreciate highly any contributions.
Whether you are helping us fix bugs, proposing new features, improving our documentation or spreading the word -
we would love to have you as part of the Memphis{dev} community.
Please refer to our Contribution Guidelines and Code of Conduct.
Thanks goes to these wonderful people (emoji key):