What is Memphis{dev}?
Memphis{dev} is a distributed message broker platform built to make developers’ lives easier. Developers who work with event-driven software with the event level observability and troubleshooting tools can make the most out of the best message broker platforms. Below are top 8 things to know about memphis{dev}.
How did Memphis{dev} begin?
Memphis{dev} began as a fork of nats.io in 2011, coded in GoLang, with its own stream.
In place of queues and topics, Memphis{dev} uses stations, which will become an entity in the future with embedded logic.
What is a message broker used for?
Message brokers are a piece of software enabling applications and services to communicate with one another via messages readily. The message structure is pre-defined and is independent of the services that initiate them.
Memphis{dev} Paradigm
- Memphis{dev} uses the same paradigm as Apache Kafka – producer-consumer.
Memphis{dev} broker uses the same paradigm as Apache Kafka of producer-consumer, a durable and efficient messaging system. A messaging system sends messages between applications, processes, and servers.
Top 8 Things to know about Memphis {dev} | The Best Message Broker
Memphis{dev} is a software in which the topics are defined – consider the topics as a category – here, applications can add, process, and reprocess records. Micro-services or applications connect to message brokers to transfer a record onto the topic. Records can include any type of information about an event that has taken place on a website or any event that is supposed to trigger another event.
Any other application may connect to the system and process or reprocess records from a particular topic. The sent data is stored until a predefined retention period has passed. These records are byte arrays, which can store any object in any format. The records have 4 attributes, key and value are compulsory, while timestamp and headers are optional.
Persistency of Memphis{dev}
Memphis{dev} message broker can persist messages on memory or file configured at station level. If you want superior performance, memory is always preferred. For a better option on price point, with near real-time performance, a file-based persistent is always a good choice.
What is message persistence?
The persistent messages are written to the logs and queue data files. When a queue manager is restarted after running into a failure – it recovers the persistent messages as necessary from logged data.
Memphis{dev} Deployment
The Memphis{dev} message broker is deployed via docker-compose for local/dev environment or swarm, and Helm – scheduled to release soon – for product Kubernetes environments.
Management
Memphis{dev} message broker cluster can be well-managed with a dedicated UI, CLI, or one of the following SDKs.
SDKs
- v0.1.0 – node.js released in April 2022
- v0.2.2 – Python released in June 2022
- v0.2.5 – GoLang was released in July 2022
Memphis{dev} Roadmap
Below is a complete timeline and roadmap for Memphis{dev} message broker platform;
- v0.1.0 – Beta released in April 2022
- v0.1.5 – Full cluster and station monitoring released in June 2022
- v1.0 – “Event’s journey” – Data-level observability for debugging and troubleshooting released on July 6, 2022
- v1.5 – Schema Registry – Embedded schema registry for supporting JSON, Avro, and protobuf schemas released in July 20, 2022
Memphis{Dev} Logs
The entire cluster logs can be reviewed with a dedicated page at the UI at Memphis{dev} message broker.
There also comes an option to pack and download a support bundle at a specific time, concentrating full collected logs from all components of the Memphis{dev} message broker platform.
Memphis{dev} Key Features for v0.1.0
- It can be easily deployed in minutes, with full optimization.
- Kubernetes-native.
- Memphis{dev} is written in GoLang.
- It comes with an easy-to-use and navigable dashboard, CLI, and SDKs to control the Memphis{dev} cluster.
- Memphis{dev} offers data-level observability
- Memphis{dev} message has a broker-based-architecture
What are the advantages of Memphis{dev) Message Broker?
The Memphis{dev} message broker comes with many benefits that include but is not limited to;
Loose Coupling
This is where a client makes a request and does not have to know about other services, so there is no need to use a discovery mechanism to find the location of the other service instances.
Message Buffering
The brokers are a buffer for messages until they are processed.
Both sides have to be available in synchronous message exchanges over HTTP – The request/response protocol for as long as the conversation takes place.
In Memphis{dev}, message broker is not the case in messaging; the messages are queued and are not processed until the consumer is ready. Take an online store for an example; a store can accept orders even if the ordering services are down or slow as the orders are queued in the message broker and will get processed when the service is up and running again.
Flexible Communication
Memphis{dev} offers more flexible and efficient communication.
Let’s look into some shortcomings of message brokers;
Performance Bottleneck – message brokers, can be a bit of a performance bottleneck. But, modern message brokers like Memphis{dev} are built to offer scalability.
Single Point Failure — Message brokers continuously need to be accessible, but modern message brokers are built for HA.
Added Operational Complexity — message brokers pose as an additional component to an already complex system, a component that needs to be installed, maintained, and configured. Luckily you have stumbled upon the best message broker – the Memphis{dev}, which offers ease, accessibility, easy configuration, and working. Get in touch with us should you have any questions.