Coder Social home page Coder Social logo

vaguecoder / memphis-broker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from superstreamlabs/memphis

0.0 0.0 0.0 17.71 MB

An open-source message broker for developers made out of devs' struggles with using message brokers, building complex data/event-driven apps, and troubleshooting them.

Home Page: https://memphis.dev

License: Apache License 2.0

Go 99.82% Dockerfile 0.18%

memphis-broker's Introduction

Memphis light logo

Memphis light logo

A powerful message broker for developers

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.

⭐️ 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.2.2

  • 🚀 Fully optimized message broker in under 3 minutes
  • 💻 Easy-to-use UI, CLI, and SDKs
  • 📺 Data-level observability
  • 🐳☸Runs on your Docker or Kubernetes
  • 👨‍💻 Community driven

Coming soon v0.2.5-1.0.0

  • Embedded schema registry using dbt
  • Message Journey - Real-time messages tracing
  • More SDKs (GoLang, Python, Kafka compatible)
  • Inline processing
  • Ready-to-use connectors and analysis functions

📸 Screenshots

Dashboard Station overview CLI
drawing drawing drawing

🚀 Getting Started

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

Ask a question about Memphis{dev} or related

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

memphis-broker's People

Contributors

idanasulin2706 avatar valerabr avatar yanivbh1 avatar saarryan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.