Giter Site home page Giter Site logo

kafka-fundamentals-for-java-developers's Introduction

Kafka-fundamentals-for-java-developers


πŸ’» About the project

β€’ What is Apache Kafka? Apache Kafka is an open source software platform for message stream processing written in Scala with Java. Among the advantages of the platform, we can emphasize its way of unifying its components and external Plugins, low latency and high throughput, approaching the real-time data feed.

Concepts

β€’ Messages – Understand by messages all the information that travels over Apache Kafka, be it a phrase, a word, an array of bytes, etc.

β€’ Streaming – Streaming applied on this platform is the entire flow of a message until the capture by Apache Kafka and the consumption of this message, where we have the following scenario: Actor -> Action -> Generates x messages, that is, a request flow for example: Cashier->Creation->Order and from this flow there can be a series of messages.

β€’ Topic – A topic is a way of labeling or categorizing a message, imagine a closet with 10 drawers, each drawer can be a topic and the closet is the Apache Kafka platform, so in addition to categorizing it groups messages, another better analogy about the topic would be tables in relational databases.

β€’ Producer – The producer or producer is the person who connects to a messaging platform and sends one or more messages to a specific topic.

β€’ Consumer – The consumer or consumer is the person who connects to a messaging platform and consumes one or more messages from a specific topic.

β€’ Broker – The concept of broker in Kafka's platform is nothing more than practically Kafka himself, he is the one who manages the topics, defines the way of storing messages, logs etc.

β€’ Cluster – The concept of cluster is nothing more than a set of Brokers that communicate with each other or not for better scalability and fault tolerance.

β€’ Log file – Each topic stores its records in a log format, that is, in a structured and sequential way, the log file is therefore the files that contain the information of a topic.

β€’ Partitions – The partitions or partitions as the name said is the partition layer of messages within a topic, this partitioning guarantees the elasticity, fault tolerance and scalability of Apache Kafka, so each topic can have several partitions in different locations.

β€’ Replicas – Replicas are like partitions of partitions, they have the same role as the partition but as a form of redundancy for a given partition, so Kafka partitions are highly available and replicated, when stream data is persisted in Kafka, it becomes available even if the app crashes.

β€’ Segments – The segments are inside the partitions and segment the information contained in the log files of that partition, every topic has its partition and its segmentation, the segmentation serves to manage the ordering of the log file information as well as the time it will be persisted.


🦸 Author


Made by Douglas Souza πŸ‘‹πŸ½ Get in touch!

Linkedin Badge Gmail Badge


README versions

English πŸ‡ΊπŸ‡Έ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.