What is Kafka?
Kafka is a distributed streaming platform that is used to handle large volumes of data and real-time data streaming. It is designed to handle high-throughput, low-latency, and fault-tolerant data streaming. Kafka is…
10 posts about high level design by Khan Waseem.
Kafka is a distributed streaming platform that is used to handle large volumes of data and real-time data streaming. It is designed to handle high-throughput, low-latency, and fault-tolerant data streaming. Kafka is…
RabbitMQ is an open-source message-broker software that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support other protocols such as…
Cache, also known as a caching mechanism, is a technique used to temporarily store frequently accessed data in a faster storage medium, such as memory or disk, in order to reduce the number of times the data must be…
Load balancers are a key component of any highly available and scalable system. They distribute incoming network traffic across multiple servers, ensuring that no single server is overwhelmed and that all requests are…
Availability patterns refer to the strategies and techniques used to ensure that a system or service is available and can handle requests at all times. High availability is a key requirement for many systems, as it…
In distributed computing, consistency patterns refer to the various strategies and techniques used to ensure that data is consistent across multiple nodes or systems in a distributed environment.
AWS provides a variety of services such as computing power, storage, and databases, as well as machine learning, analytics, and Internet of Things (IoT) services. It also provides services for content delivery…
A Content Delivery Network (CDN) is a system of distributed servers that deliver web content to a user based on their geographic location. The goal of a CDN is to provide faster and more reliable delivery of content to…
The CAP theorem, also known as Brewer’s theorem, states that in a distributed system, it is impossible for a system to simultaneously provide all three of the following guarantees:
High-level design (HLD) is the process of creating an overall blueprint of a software system. It provides an overview of the system’s architecture, components, and interactions. The goal of high-level design is to…