StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Utilities
  3. Background Jobs
  4. Message Queue
  5. Kafka vs Minio

Kafka vs Minio

OverviewDecisionsComparisonAlternatives

Overview

Kafka
Kafka
Stacks24.2K
Followers22.3K
Votes607
GitHub Stars31.2K
Forks14.8K
Minio
Minio
Stacks638
Followers670
Votes43
GitHub Stars57.8K
Forks6.4K

Kafka vs Minio: What are the differences?

Introduction: Kafka and Minio are both popular technologies used in distributed systems. While Kafka is a distributed streaming platform, Minio is an object storage server. Despite some similarities, there are several key differences between the two.

  1. Scalability: One major difference between Kafka and Minio is their scalability. Kafka is designed to handle high-throughput streaming data and can handle millions of messages per second, making it highly scalable for real-time data processing. On the other hand, Minio is primarily focused on storing objects and does not have the same level of scalability as Kafka in terms of handling high volumes of streaming data.

  2. Data Storage: Kafka and Minio have different approaches to data storage. Kafka stores data in distributed log files called topics, where each topic is divided into multiple partitions. These partitions are distributed across multiple brokers in a Kafka cluster. On the other hand, Minio uses a distributed object storage architecture, where each object is stored as a file and distributed across multiple nodes. This difference in data storage architecture makes Kafka more suitable for real-time data streaming, while Minio is designed for object storage.

  3. Data Retention: Kafka and Minio have different mechanisms for data retention. Kafka has a configurable retention period, where messages are stored for a specific duration or until a certain size limit is reached. Once this period or limit is exceeded, older messages are automatically deleted. Minio, on the other hand, does not have built-in data retention policies. Objects stored in Minio are retained indefinitely until explicitly deleted by the user. This difference makes Kafka more suitable for use cases where temporary data storage is needed, while Minio is better suited for long-term data storage.

  4. Data Processing: Another key difference between Kafka and Minio is their data processing capabilities. Kafka provides capabilities for real-time data streaming and allows for stream processing using frameworks like Apache Flink or Apache Spark. It supports various data processing operations like filtering, transforming, and aggregating streams of data. On the other hand, Minio primarily focuses on storage and does not provide built-in data processing capabilities. While it is possible to integrate Minio with data processing frameworks, it lacks the out-of-the-box capabilities provided by Kafka.

  5. Messaging Pattern: Kafka and Minio have different messaging patterns. Kafka follows a publish-subscribe messaging pattern, where messages are published to topics and can be consumed by multiple subscribers. This pattern allows for decoupling of producers and consumers and provides fault-tolerance and scalability. On the other hand, Minio does not provide a publish-subscribe messaging pattern. It primarily offers object storage capabilities, where objects can be stored, retrieved, and managed, but there is no direct support for multi-subscriber messaging.

  6. Data Durability: Kafka and Minio have different approaches to data durability. Kafka ensures data durability by replicating each partition across multiple brokers in a Kafka cluster. This replication ensures that even if a broker fails, data is still available for consumption. In contrast, Minio provides data durability by employing erasure coding techniques. The data is divided into small fragments and encoded for redundancy. This approach ensures that even if some fragments are lost or corrupted, the data can still be reconstructed. This difference in data durability mechanisms makes Kafka more suitable for applications that require strong durability guarantees, while Minio is geared towards applications where high availability is prioritized.

In Summary, Kafka and Minio differ in terms of scalability, data storage, data retention, data processing, messaging pattern, and data durability. While Kafka is designed for high-throughput streaming and real-time data processing, Minio is focused on object storage with distributed storage capabilities.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Kafka, Minio

viradiya
viradiya

Apr 12, 2020

Needs adviceonAngularJSAngularJSASP.NET CoreASP.NET CoreMSSQLMSSQL

We are going to develop a microservices-based application. It consists of AngularJS, ASP.NET Core, and MSSQL.

We have 3 types of microservices. Emailservice, Filemanagementservice, Filevalidationservice

I am a beginner in microservices. But I have read about RabbitMQ, but come to know that there are Redis and Kafka also in the market. So, I want to know which is best.

933k views933k
Comments
Ishfaq
Ishfaq

Feb 28, 2020

Needs advice

Our backend application is sending some external messages to a third party application at the end of each backend (CRUD) API call (from UI) and these external messages take too much extra time (message building, processing, then sent to the third party and log success/failure), UI application has no concern to these extra third party messages.

So currently we are sending these third party messages by creating a new child thread at end of each REST API call so UI application doesn't wait for these extra third party API calls.

I want to integrate Apache Kafka for these extra third party API calls, so I can also retry on failover third party API calls in a queue(currently third party messages are sending from multiple threads at the same time which uses too much processing and resources) and logging, etc.

Question 1: Is this a use case of a message broker?

Question 2: If it is then Kafka vs RabitMQ which is the better?

804k views804k
Comments
Roman
Roman

Senior Back-End Developer, Software Architect

Feb 12, 2019

ReviewonKafkaKafka

I use Kafka because it has almost infinite scaleability in terms of processing events (could be scaled to process hundreds of thousands of events), great monitoring (all sorts of metrics are exposed via JMX).

Downsides of using Kafka are:

  • you have to deal with Zookeeper
  • you have to implement advanced routing yourself (compared to RabbitMQ it has no advanced routing)
10.9k views10.9k
Comments

Detailed Comparison

Kafka
Kafka
Minio
Minio

Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.

Minio is an object storage server compatible with Amazon S3 and licensed under Apache 2.0 License

Written at LinkedIn in Scala;Used by LinkedIn to offload processing of all page and other views;Defaults to using persistence, uses OS disk cache for hot data (has higher throughput then any of the above having persistence enabled);Supports both on-line as off-line processing
-
Statistics
GitHub Stars
31.2K
GitHub Stars
57.8K
GitHub Forks
14.8K
GitHub Forks
6.4K
Stacks
24.2K
Stacks
638
Followers
22.3K
Followers
670
Votes
607
Votes
43
Pros & Cons
Pros
  • 126
    High-throughput
  • 119
    Distributed
  • 92
    Scalable
  • 86
    High-Performance
  • 66
    Durable
Cons
  • 32
    Non-Java clients are second-class citizens
  • 29
    Needs Zookeeper
  • 9
    Operational difficulties
  • 5
    Terrible Packaging
Pros
  • 10
    Store and Serve Resumes & Job Description PDF, Backups
  • 8
    S3 Compatible
  • 4
    Simple
  • 4
    Open Source
  • 3
    Encryption and Tamper-Proof
Cons
  • 3
    Deletion of huge buckets is not possible
Integrations
No integrations available
Amazon S3
Amazon S3

What are some alternatives to Kafka, Minio?

Amazon S3

Amazon S3

Amazon Simple Storage Service provides a fully redundant data storage infrastructure for storing and retrieving any amount of data, at any time, from anywhere on the web

RabbitMQ

RabbitMQ

RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.

Celery

Celery

Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.

Amazon SQS

Amazon SQS

Transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be always available. With SQS, you can offload the administrative burden of operating and scaling a highly available messaging cluster, while paying a low price for only what you use.

NSQ

NSQ

NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day. It promotes distributed and decentralized topologies without single points of failure, enabling fault tolerance and high availability coupled with a reliable message delivery guarantee. See features & guarantees.

Amazon EBS

Amazon EBS

Amazon EBS volumes are network-attached, and persist independently from the life of an instance. Amazon EBS provides highly available, highly reliable, predictable storage volumes that can be attached to a running Amazon EC2 instance and exposed as a device within the instance. Amazon EBS is particularly suited for applications that require a database, file system, or access to raw block level storage.

ActiveMQ

ActiveMQ

Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License.

Google Cloud Storage

Google Cloud Storage

Google Cloud Storage allows world-wide storing and retrieval of any amount of data and at any time. It provides a simple programming interface which enables developers to take advantage of Google's own reliable and fast networking infrastructure to perform data operations in a secure and cost effective manner. If expansion needs arise, developers can benefit from the scalability provided by Google's infrastructure.

ZeroMQ

ZeroMQ

The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

Apache NiFi

Apache NiFi

An easy to use, powerful, and reliable system to process and distribute data. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase