Too many data sources and too many schemas? Looking for a messaging queue to scale your data-driven architecture? Require greater performance for your data streams? Your architecture is based on post-processing data, and you want to switch to real-time in minutes instead of months? Struggle to install, configure and update Kafka/RabbitMQ/and other MQs?
Meet Memphis
Memphis is a dev-first, cloud-native, event processing platform made out of devs' struggles with tools like Kafka, RabbitMQ, NATS, and others, allowing you to achieve all other message brokers' benefits in a fraction of the time.
Memphis delivers:
- The most simple to use Message Broker (With the same behaivour as NATS and Kafka)
- State-of-the-art UI and CLI
- No need for Kafka Connect, Kafka Streams, ksql. All the tools you need are under the same roof
- An in-line data processing in any programming language
- Out-of-the-box deep observability of every component
RabbitMQ has Queues, Kafka as Topics, Memphis has Stations.
On Day 1 (For the DevOps heros out there) -
Memphis platform provides the same old and loved behavior (Produce-Consume) of other data lakes and MQs, but removes completly the complexity barriers, messy documentation, ops, manual scale, orchestration and more.
On Day 2 (For the Developers) - Developer lives with developing real-time, event-driven apps that are too complex. Consumers and Producers are filled with logic, data orchestration is needed between the different services, no GUI to understand metrics and flows, lack of monitoring, hard to implement SDKs, etc.
No More.
In the coming versions, Memphis will solve the challenges above,
and recude 90% of dev work arround building a real-time / event-driven / data-driven apps.
Purpose of this repo
Responsible for configuring the components of Memphis after helm deployment
Table of Contents
- Memphis Components
- Memphis repos
- Current SDKs
- Installation
- Next Steps
- Memphis Contributors
- Contribution guidelines
- Documentation
- Contact
helm repo add memphis https://k8s.memphis.dev/charts/
helm install my-memphis memphis/memphis --create-namespace --namespace memphis
Helm chart options
Example:
helm install my-memphis --set cluster.replicas=1,rootPwd="rootpassword" memphis/memphis --create-namespace --namespace memphis
Option | Description | Default Value |
---|---|---|
rootPwd | Root password for the dashboard | "memphis" |
connectionToken | Token for connecting an app to the Memphis Message Queue. Auto Generated | "" |
dashboard.port | Dashboard's (GUI) port | 80 |
cluster.replicas | Amount of Message Queue workers | 3 |
curl -s https://memphis-os.github.io/memphis-docker/docker-compose.yml -o docker-compose.yml
docker compose -f docker-compose.yml -p memphis up
The following will be deployed as docker containers
memphis-control-plane-1
memphis-ui-1
memphis-cluster-1
memphis-mongo-1
Memphis UI can be accessed via port 80 on the following DNS name from within your cluster:
memphis-ui.memphis.svc.cluster.local
To access Memphis from localhost, run the below commands:
1. kubectl port-forward service/memphis-ui 9000:80 --namespace memphis &
2. kubectl port-forward service/memphis-cluster 7766:7766 --namespace memphis &
3. kubectl port-forward service/control-plane 6666:6666 6667:80 --namespace memphis &
Dashboard: http://localhost:9000
Please expose the UI, Cluster, and Control-plane via k8s ingress / load balancer / nodeport
To access Memphis, run the below commands:
Dashboard - http://localhost:9000
Broker - localhost:7766
Control-Plane for CLI - localhost:5555
Control-Plane for SDK - localhost:6666
+ localhost:5555
soon