Spring Boot | Kafka Schema Registry & Avro with Practical Example and Implementation |

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ก.ย. 2024
  • #JavaTechie #springboot #kafka #SchemaRegistry #Avro
    📌 In this Video, we will learn about how to use Avro schema to produce and consume messages using Spring Boot. Additionally, we'll explore the concept of Schema Registry.
    👉 What does it mean?
    👉 what benefits does it provide?
    👉 How schema evolution handled in schema registry ?
    👉 Internal workflow
    👉 Consumer & Producer example using spring boot
    🧨 Hurry-up & Register today itself!🧨
    Spring boot microservice Premium course lunched with 70% off 🚀 🚀
    COURSE LINK : Spring boot microservice course link :
    javatechie.ong...
    PROMO CODE : JAVATECHIE50
    Devops for Developers course link :
    javatechie.ong...
    COUPON CODE : NEW24
    View All course : javatechie.ong...
    GitHub:
    github.com/Jav...
    Blogs:
    / javatechie4u
    Facebook:
    / javatechie
    Join this channel to get access to perks:
    www.youtube.co...
    🔔 Guys, if you like this video, please do subscribe now and press the bell icon to not miss any update from Java Techie.
    Disclaimer/Policy:
    📄 Note: All uploaded content in this channel is mine and it's not copied from any community, you are free to use source code from the above-mentioned GitHub account.

ความคิดเห็น • 77

  • @sureshnamala6776
    @sureshnamala6776 7 หลายเดือนก่อน +9

    Excellent tutorial on real time scenarios. Avro serialization is one of the real time scenarios used in the projects and also an important topic in the Kafka interviews. Thanks a lot Basant for the efforts put in, much appreciated!!

  • @gopisambasivarao5282
    @gopisambasivarao5282 7 หลายเดือนก่อน +5

    Thanks Basant. Appreciate your efforts. God Bless you.🙂🙏 Every week waiting for your videos. You are my Guru. 😊 The way of your explanation is awesome.

  • @rajyahoob
    @rajyahoob หลายเดือนก่อน +1

    Nice explanation, lot of other things to learn as well such as Docker, etc. Thank You as always.

  • @kalaiselvankesavel2971
    @kalaiselvankesavel2971 7 หลายเดือนก่อน +2

    Thanks for making such a detailed video about schema registry!!

  • @ManishSingh-dj4yu
    @ManishSingh-dj4yu 7 หลายเดือนก่อน +1

    Thanks for this tutorial.. your contribution to the developer community is invaluable.

  • @ilronin804
    @ilronin804 2 หลายเดือนก่อน +2

    Wowww
    Awesome
    Thank you very much, so helpfull!

  • @malleswarrao3887
    @malleswarrao3887 3 หลายเดือนก่อน +1

    Excellent sir no words to describe your knowledge sharing

  • @aadiraj6126
    @aadiraj6126 7 หลายเดือนก่อน +2

    Thank you Basant bhai.. Lucid explanation, loved it👍

  • @I-can-do-that-1
    @I-can-do-that-1 7 หลายเดือนก่อน +1

    Surpringly I had this kind requirement using avro object, many thanks

    • @Javatechie
      @Javatechie  7 หลายเดือนก่อน

      Glad it helped!

  • @858871
    @858871 หลายเดือนก่อน +1

    Bro your content is exceptionally great..

  • @itsmeibrahimm
    @itsmeibrahimm 2 วันที่ผ่านมา

    Excellent tutorial

  • @anushbabu5023
    @anushbabu5023 7 หลายเดือนก่อน +2

    Thanks, looking for this one. Please cover for Kafka connect also😊

    • @Javatechie
      @Javatechie  7 หลายเดือนก่อน

      Sure buddy

  • @manjunathbabu6609
    @manjunathbabu6609 4 หลายเดือนก่อน +2

    "Let's get started" has a separate fan base..

  • @srinivastadimalla1232
    @srinivastadimalla1232 19 วันที่ผ่านมา +1

    Any help on this is appreciated Sir.. I subscribed to your channel now and would like to continue to have the membership and thank you very much for all the knowledge you are sharing to the community. How to make it work for build.gradle file Sir?

    • @Javatechie
      @Javatechie  7 วันที่ผ่านมา

      Hello srinivas , Thank you for following javatechie. What's the problem are you facing with gradle ?

  • @mysavingclub
    @mysavingclub 7 หลายเดือนก่อน +2

    Nice video you are putting lot of effort

  • @kanaillaurent526
    @kanaillaurent526 หลายเดือนก่อน

    Very helpful!

  • @vverma011
    @vverma011 2 หลายเดือนก่อน

    Could you please discuss more on Forward and Backward compatibility configurations.

  • @avisulimanoff1231
    @avisulimanoff1231 7 หลายเดือนก่อน +1

    Thanks for your useful tutorials.
    Short question please: what is the difference between you first change to avro scheme, that when you send Employee information without age/dob was validate successfully , to your second change, when you added the middle name, the validation failed. I didn't notice any change in the process for the two changes...

    • @Javatechie
      @Javatechie  7 หลายเดือนก่อน

      Check I have explained in control centre ui the difference in schema evolution

  • @utbhargav
    @utbhargav หลายเดือนก่อน

    Thank you So much. why AvroSchema generated DTO has @Deprecated on the attributes ?

  • @Imjamalvali
    @Imjamalvali 7 หลายเดือนก่อน +1

    thanks bro, pls do like this videos, pls keep ur good work

  • @deekandau4596
    @deekandau4596 2 หลายเดือนก่อน +1

    This is awesome content thanks. One question , how do you share the schema across multiple micro services.

    • @Javatechie
      @Javatechie  2 หลายเดือนก่อน

      It should be store in registry

    • @deekandau4596
      @deekandau4596 2 หลายเดือนก่อน

      @@Javatechie Sorry i didn't get which registry you talking about. Could you elaborate further. Can we store it in like a config server? Just thinking..

  • @user-kk9oo2ip3x
    @user-kk9oo2ip3x 4 หลายเดือนก่อน +1

    nice tutorial but if u do this concept by creating two differnt projects(producer and consumer) then it wil be more clear and prefect

    • @Javatechie
      @Javatechie  4 หลายเดือนก่อน

      Yes I agree but to reduce the length of the video i kept both in the same project but what's the challenge here to separate consumers into different projects?

    • @mithileshchandra2072
      @mithileshchandra2072 3 หลายเดือนก่อน

      @@Javatechie i think we need to generate the beans class using avro schema in both producer and consumer application and then need to run both app. I thought if we separate producer and consume and if we change schema in producer it should reflect in consumer app without re run but seems not possible we have to re run both app. pls correct me if I'm wrong?

    • @Javatechie
      @Javatechie  3 หลายเดือนก่อน

      You are correct only need to build your app again that's the things you need to do

  • @tusharrawal885
    @tusharrawal885 7 หลายเดือนก่อน

    Hello sir,
    I already followed you from last two years and you are awesome.
    Could you please help me for one interview question on threading.
    In you corrent project where you are using thread with example?

  • @aditvikramsingh1929
    @aditvikramsingh1929 7 หลายเดือนก่อน +1

    Can you also cover Kafka connect and stream

  • @sudheerkumar-tp1mg
    @sudheerkumar-tp1mg 7 หลายเดือนก่อน

    1. In confluent dashboard we can able to see the sesitive data, how to secure it in one interviewer asked me this question, please suggest, also confluent is free or paid.
    2. If consumer is down producer is producing messages continuously and the hardware resources are exhUsted kafka how can handle this situation

    • @Javatechie
      @Javatechie  7 หลายเดือนก่อน

      Use secure Kafka cluster and yes it’s open source

    • @sudheerkumar-tp1mg
      @sudheerkumar-tp1mg 7 หลายเดือนก่อน

      @@Javatechie Thanks for the reply basant sir, actually content ex: credit card numbers, social security numbers etc. which should display in amsked manner, please suggest

    • @GMSGAANAMANI
      @GMSGAANAMANI 6 หลายเดือนก่อน

      consumers are configured with appropriate heartbeat settings

  • @suprajainamadugu7083
    @suprajainamadugu7083 6 หลายเดือนก่อน

    Thanks for the detailed information, But how to use different versions at consumer side while deserialising.

  • @supriyakavuri1988
    @supriyakavuri1988 5 หลายเดือนก่อน +1

    Hi Sir,
    How can we achieve this kind of version in open-source Kafka ?

    • @Javatechie
      @Javatechie  5 หลายเดือนก่อน

      Not possible supriya

  • @talhaansari5763
    @talhaansari5763 3 หลายเดือนก่อน

    Currently we are using in our application.

  • @armandoruizgonzalez
    @armandoruizgonzalez 7 หลายเดือนก่อน +2

    Thank's Basant

  • @mohammadturabali3870
    @mohammadturabali3870 2 หลายเดือนก่อน +1

    awsome

  • @AAlphonse682
    @AAlphonse682 5 หลายเดือนก่อน

    Thank you for a wonderful tutorial

  • @arunabhtiwari4771
    @arunabhtiwari4771 3 หลายเดือนก่อน

    Hi Basat ,
    what is default compatiblity for avro schema registry .

  • @Deepakblg97
    @Deepakblg97 7 หลายเดือนก่อน +1

    ❤❤ Thank you so much sir 🙏

  • @gauravjaiswal9808
    @gauravjaiswal9808 3 หลายเดือนก่อน

    hi sir can you please create a video on employee biometric login using Spring boot

  • @Jothianand-g1v
    @Jothianand-g1v หลายเดือนก่อน +1

    Great tutorial !
    One question : Do we need to add any configuration related to SSL when using confluent cloud schema registry (https) ? I'm getting below error when my spring boot app is trying to connect to the schema url.
    SSLHandshakeException - PKIX path building failed: sun.security.provier.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

    • @Javatechie
      @Javatechie  หลายเดือนก่อน +1

      Yes you need to add keystore and truststore certificate in producer and consumer configuration

    • @Jothianand-g1v
      @Jothianand-g1v หลายเดือนก่อน

      @@Javatechie Thanks for the quick response

  • @letsCherishCoding
    @letsCherishCoding 7 หลายเดือนก่อน +2

    Nice explanation. Just have one doubt, can we use this when we are storing employee info in database like cassandra as database schema is fixed there. And if we want to accomodate new fileds we will have to manually add them.

    • @Javatechie
      @Javatechie  7 หลายเดือนก่อน

      But in the db schema you need to modify the field.

    • @letsCherishCoding
      @letsCherishCoding 7 หลายเดือนก่อน

      ​@@Javatechie yes, I just wanted to know couple of real life use cases of using avro schema

    • @Javatechie
      @Javatechie  7 หลายเดือนก่อน

      @@letsCherishCoding purpose of avro to avoid failure in schema evolution. Next you can think of any e-commerce or food delivery app who frequently do changes on their payload

    • @letsCherishCoding
      @letsCherishCoding 7 หลายเดือนก่อน +1

      @@Javatechie got it. Thanks

  • @amsfuy
    @amsfuy 5 หลายเดือนก่อน +1

    From 1:00 on you explain that in the plain Kafka world we need to build a new producer and consumer app once a class, whose objects we send to Kafka, changes.
    From 41:00 on you generate a new Employee class based on the changed schema and then rebuild producer and consumer as well. From my understanding, using schemas we still need to build a new producer and consumer app; so this is not an advantage of the whole schema overhead.
    The only advantage I see is that we do not manually change classes.
    Do I overlook something?

    • @user-ky2fw9kw7m
      @user-ky2fw9kw7m 4 หลายเดือนก่อน

      i'm stuck in the same, still dont get it..

    • @Javatechie
      @Javatechie  4 หลายเดือนก่อน

      No your understanding is correct. It means we no need to rely on data like pojo/events even producer modified any payload structure still my consumer will not break

    • @kevinameda2711
      @kevinameda2711 4 หลายเดือนก่อน

      @@Javatechie I used everything same as you but when it came to evolving the schema and dropping some of the fields, I got change in schema error 409. I am wondering because I used same properties as you. Also, another thing is, I have the following dashboard I am not seeing the messages even though the schemas and the topics are there. I am talking about port 9092/clusters/** but the 8081/subjects/** is showing

    • @kevinameda2711
      @kevinameda2711 4 หลายเดือนก่อน

      This are the errors org.apache.kafka.common.errors.InvalidConfigurationException: Schema being registered is incompatible with an earlier schema; error code: 409
      2024-04-23T09:29:46.988+03:00 ERROR 12236 --- [apache-schema-registry] [nio-8888-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.kafka.KafkaException: Send failed] with root cause
      org.apache.kafka.common.errors.InvalidConfigurationException: Schema being registered is incompatible with an earlier schema; error code: 409

  • @attrayadas8067
    @attrayadas8067 7 หลายเดือนก่อน

    Can you please make a video on how to make a class immutable in java?

  • @dattatraybharde2902
    @dattatraybharde2902 7 หลายเดือนก่อน +1

    Nice video ❤

  • @arunvijay2279
    @arunvijay2279 7 หลายเดือนก่อน +2

    If consumer in different microsevice, I need to generate avro class for all the consumers right ?. In future, if we need to add new field, first we need to add default as empty, is my understanding correct ?.

    • @Javatechie
      @Javatechie  7 หลายเดือนก่อน +1

      Yes that’s correct but if your consumer is different project then you need to only get the updated schema from producer that’s it

    • @saravanakumars52
      @saravanakumars52 7 หลายเดือนก่อน +1

      Yes exactly because whatever version of avro Object producer is sending consumer is going to consume that object as per version in schema registry when deserializing

    • @santhoshg5342
      @santhoshg5342 4 หลายเดือนก่อน

      ​@@Javatechieif producer sends new schema, does consumer need to generate the dto files from consumer end before it consumes. Until the new changes deployed to prod, is it uses old schema ? How exactly schema versioning works for consumer without any break if consumer is a separate external service ?

  • @user-eb8og2rh2t
    @user-eb8og2rh2t 4 หลายเดือนก่อน

    which data type we can use for date in schema , Pls suggest ?

  • @rathinmaheswaran
    @rathinmaheswaran 4 หลายเดือนก่อน

    Hi Sir , I need to convert an input xml file to avro schema dynamically instead of having it under resource folder and then build the Avro object and send it to Kafka topic .can you please help me with this.

  • @ramanav3139
    @ramanav3139 5 หลายเดือนก่อน

    can you guide me how to do kafka clustering in spring boot application how to handle

  • @user-pv4bb2ib8m
    @user-pv4bb2ib8m 4 หลายเดือนก่อน

    everything's working well, but my control centre often shut down itself after some time, need to start it again from docker desktop, why can be the cause?

  • @riyakumari8377
    @riyakumari8377 5 หลายเดือนก่อน +1

    I have a doubt what if we are not sure what kind of schema is coming from my database as my app might be handling different types of json data in that case Do i need to define schema for every json data one by one or is there any other way?

    • @Javatechie
      @Javatechie  5 หลายเดือนก่อน

      Schema is nothing is the contract between producer and consumer buddy. For example to work as IAS you must need to clear the UPSC exam that's the rule or you can say contract set by the government. If you have multiple exams then you need to prepare for different subjects like schema

  • @GR-gk8dh
    @GR-gk8dh 6 หลายเดือนก่อน

    14:44

  • @el_yisusT
    @el_yisusT 7 หลายเดือนก่อน

    Thanks a lot

  • @2000riddick
    @2000riddick 29 วันที่ผ่านมา

    I need the same in gradle build

  • @gauravjaiswal9808
    @gauravjaiswal9808 3 หลายเดือนก่อน

    hi sir can you please create a video on employee biometric login using Spring boot