Skip to main content

Posts

Showing posts with the label Apache Kafka

Understanding distributed systems messaging styles

Distributed systems has come a long way from where it started and have a long way to go. With more and more people connected through telecommunication technology over the largest distributed system on the planet which is the internet, the demand for an efficient distributed architecture is ever so important today. This is not a tutorial on distributed systems though. Rather some thoughts on building a futuristic distributed system which addresses the challenges of the modern needs keeping the focus at the messaging styles. In a distributed system, messaging plays a pivotal role. Data flows from one system to another through messages. Different protocols and formats are used to share data within a distributed system as messages or events. Another key aspect of messaging is the nature of communication The below post explains different messaging styles and how those can be used to build a future proof distributed system for the enterprise. https://medium.com/@chanakaudaya/a-futuris...

Understanding Apache Kafka architecture

Apache Kafka has evolved as the defacto standard for building reliable event based systems with ultra high volumes. The unique, yet simple architecture has made Kafka an easy to use component which integrate well with existing enterprise architectures. At a very high level, it is a messaging platform which decouples the message producers from the message consumers while providing the reliability of message delivery to consumers at scale. Kafka has message producers which send messages (events) to kafka which kafka stores in a entity called a topic which will deliver the messages to one or more consumers in a reliable manner. There can be different types of producers and consumers depending on the use case. In the below post, I'm explaining how kafka architecture works and integrate with other systems. https://medium.com/@chanakaudaya/understanding-apache-kafka-the-messaging-technology-for-modern-applications-4fbc18f220d3

WSO2 MB vs Apache Kafka comparison

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 about 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 Propreitary protocol written over TCP Standard messaging supports well known standards based messaging - pub/sub - request/reply - point to...