Menu

Tree [9d2d13] master /
 History

HTTPS access


File Date Author Commit
 .github 2022-07-21 Yaniv Ben Hemo Yaniv Ben Hemo [23757b] Update issue templates
 .vscode 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 analytics 2022-07-19 idanasulinStrech idanasulinStrech [1a12a2] analytics bugfix
 background_tasks 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 broker 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 config 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 db 2022-06-07 idanasulinStrech idanasulinStrech [1c74c9] change control plane to broker
 handlers 2022-07-19 idanasulinStrech idanasulinStrech [1a12a2] analytics bugfix
 http_server 2022-07-19 Idan Asulin Idan Asulin [df9cf6] Beta (#239)
 logger 2022-06-07 idanasulinStrech idanasulinStrech [271bb1] change control plane audit source to broker
 middlewares 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 models 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 socketio 2022-07-19 Idan Asulin Idan Asulin [9a3919] Beta (#243)
 tcp_server 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 utils 2022-06-07 idanasulinStrech idanasulinStrech [1c74c9] change control plane to broker
 .gitignore 2022-05-31 idanasulinStrech idanasulinStrech [2f740b] some code improvements
 CODE_OF_CONDUCT.md 2022-03-29 idanasulinStrech idanasulinStrech [0ceae4] switch k8s namespace
 CONTRIBUTING.md 2022-08-09 Yaniv Ben Hemo Yaniv Ben Hemo [9d2d13] Update CONTRIBUTING.md
 Dockerfile 2022-06-13 Yaniv Ben Hemo Yaniv Ben Hemo [a46e58] Update Dockerfile
 Jenkinsfile 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 LICENSE 2022-07-21 Yaniv Ben Hemo Yaniv Ben Hemo [ef385f] Update LICENSE
 MAINTAINERS.md 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 README.md 2022-08-07 Yaniv Ben Hemo Yaniv Ben Hemo [c0d389] Update README.md
 go.mod 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 go.sum 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 logo-black.png 2022-06-12 Yaniv Ben Hemo Yaniv Ben Hemo [82ebcb] Add files via upload
 logo-white.png 2022-06-12 Yaniv Ben Hemo Yaniv Ben Hemo [a72c4b] Add files via upload
 main.go 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)
 version.conf 2022-07-18 Idan Asulin Idan Asulin [f7edd5] Beta (#237)

Read Me

![Memphis light logo](https://github.com/memphisdev/memphis-broker/blob/staging/logo-white.png?raw=true#gh-dark-mode-only)
![Memphis light logo](https://github.com/memphisdev/memphis-broker/blob/staging/logo-black.png?raw=true#gh-light-mode-only)

A powerful message broker for modern developers

Memphis UI

Glitch - Sandbox - Docs - Twitter - YouTube

Discord Code Of Conduct License GitHub release (latest by date)

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.

📸 Screenshots

Dashboard Station (Topic) overview CLI
Dashboard Station Overview drawing

⭐️ Why

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.

👉 Use-cases

  • 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

✨ Features

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

🚀 Getting Started

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

Connect your first app

Tutorial: Build an event-driven food delivery app

High-Level Architecture

memphis.dev-logo

Local access

Via Kubernetes

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

Via Docker

Dashboard - http://localhost:9000

Broker - localhost:7766

Control-Plane - localhost:5555/6666

Beta

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

Support

You can ask questions, and participate in discussions about Memphis{dev}-related topics in the Memphis Discord channel.

Create a bug report

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.

Submit a feature request

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 :)

Contributing

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.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.