Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

WSO2 MB vs Apache Kafka Comparison

DZone's Guide to

WSO2 MB vs Apache Kafka Comparison

Read on to see comparisons between WSO2 MB and Apache Kafka. The table includes differences between messaging semantics, supported protocols, and standard messaging.

· Integration Zone ·
Free Resource

The Future of Enterprise Integration: Learn how organizations are re-architecting their integration strategy with data-driven app integration for true digital transformation.

When it comes to message broker solutions, those can be categorized into 2 main types

  • Standards-based traditional message brokers (e.g. Apache ActiveMQ, RabbitMQ, WSO2 MB, Apache Qpid)
  • Proprietary modern message brokers (e.g. Apache Kafka, Kestrel)

Based on your requirement, you need to select the best category and then go for a specific vendor based on your needs, IT capacity and financial capabilities. In this post, I’m comparing 2 popular message brokers (WSO2 MB and Apache Kafka) from 2 categories. Even though it discusses 2 specific brokers, you can consider this when comparing these 2 categories of message brokers.




Feature WSO2 MB Apache Kafka
Messaging semantics Rich messaging semantics with features such as
- Transactions
- Persistent/In-memory
Relaxed and proprietary
Supported protocols JMS 1.0/1.1, AMQP, STOMP, MQTT Proprietary protocol written over TCP
Standard messaging supports well known standards-based messaging
- pub/sub
- request/reply
- point to point
Supports only pub/sub with proprietary protocol
Clustering Inbuilt clustering without any third party components Requires ZooKeeper to make a cluster
Performance Considerably low due to the standards-based messaging semantics and different protocol support Higher performance due to simpler messaging semantic and proprietary protocol
Deployment complexity Simpler deployment with 2 node cluster which is capable of handling a considerable load Complex deployment with multiple components deployed in a cluster. Not suitable for moderate messaging requirements
Message flow control Supported at the MB itself through
- dead letter channels
- QoS
- delivery guarantees
Needs to be done at the client side
Management console Available with full management capabilities of Queues/Topics and other server runtime monitoring No native management console
Client support Java, .Net, C++ and other AMQP clients Clients for Java, C++, Python, Go and others
Compatibility compatible with existing messaging systems within the enterprise due to standards-based communication Need special connectors to be written for existing systems to connect with Kafka
Security Security can be configured through
- SSL at transport layer
- User-based access control for queues
- Role-based access control for topics
no SSL support







Based on the above comparison, if you are looking for a high performance, large-scale message storage platform, which works in isolation without much connectivity to existing systems, you can select Apache Kafka. However, if your requirements are to build a messaging system that interconnects with existing systems seamlessly and with a moderate performance and easily manageable deployment with rich messaging features, you can select WSO2 MB.

Cheers!

Make your mark on the industry’s leading annual report. Fill out the State of API Integration 2019 Survey and receive $25 to the Cloud Elements store.

Topics:
integration ,wso2 mb ,wso2 ,apache kafka

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}