강의

멘토링

커뮤니티

NEW
Programming

/

Back-end

Apache Flink, the real-time ultra-low latency platform used by Naver interviewers

Most developers are still stuck on Batch and CronJobs when it comes to data processing. However, in real-world production environments, data is generated continuously, and failing to process that flow immediately leads to latency, bottlenecks, and consistency issues. Having personally dealt with real-time recommendations, state synchronization, and event delay problems in high-traffic environments, I’ve often asked myself, "Is batch processing really the right approach for this?" This course begins with that very question. It explores how to use Apache Flink to perform computations the moment data flows, manage state securely, and produce accurate results based on Event Time—all from a practical perspective. Beyond simple theoretical explanations, you will experience how real-time stream processing systems are designed and operated through actual source code and architectures. For those who found real-time processing vague or were curious about the world beyond messaging, this course will provide a clear sense of direction.

(5.0) 6 reviews

228 learners

Level Basic

Course period Unlimited

  • Hong
Java
Java
Docker
Docker
docker-compose
docker-compose
flink
flink
Java
Java
Docker
Docker
docker-compose
docker-compose
flink
flink

Reviews from Early Learners

Reviews from Early Learners

5.0

5.0

Ande

96% enrolled

I'm already opening my second course!! Personally, I have a strong desire to share knowledge, so I wanted to freely share everything I know with you. The topic I want to cover this time is Apache Flink, which I've selected as a subject that you should definitely know about. Let me be honest!! If you don't have knowledge about real-time communication, this content might be difficult for you to understand. (Of course, I'll teach you everything, and honestly, I think the course is structured really well. haha) But you absolutely must learn this. Even though it's difficult, I want to guarantee and tell you that you must learn it. Real-time communication seems to be becoming extremely important in today's era. I think we need to provide more content to generate more traffic and collect more data. In fact, this aspect is reflected in numerous large corporations and unicorn startups. Netflix's recommendation system that you know, Uber's real-time fare calculation, and recommendation systems like Musinsa I haven't seen any platform or service that you use that doesn't include this real-time communication. So please, I really hope many people learn through this video. You really must learn this. Please, I'm begging you for the sake of your career hahaha

5.0

에이미

89% enrolled

I think this is one of the best courses I've seen on Inflearn..!! The theoretical parts are not lacking at all, and I think you can learn a great deal across the board, from example code to hands-on practice. When explaining the concept of Source, I found it even more impressive that you implemented it without using external storage or MSQ. If you had covered that part, it probably would have deviated somewhat from the course objectives. I really enjoyed the course. I'm learning so much from it.

5.0

warna

85% enrolled

I recently got a job at Naver Cloud while watching your lectures!! I'm truly so grateful. You're my favorite instructor on Inflearn, and although you may not be famous, I think these are excellent lectures because every course shows how you teach so many concepts in a short time and make efforts to use time efficiently. This time too, I enrolled right as soon as you opened the new course... and as expected, the content is really beneficial. It was content I could learn a lot from.

What you will gain after the course

  • Design for processing data based on real-time streams rather than batches

  • Accurately process late data using Event Time and Watermarks.

  • Implementing 'stateful' real-time applications through stateful processing

  • Production-ready stream processing pipelines with Apache Flink

  • Architecture for designing real-time recommendation, billing, and aggregation systems

A Naver developer explains the open-source platform for real-time stateful communication.

  • The content below is an actual conversation.

😄 Naver Developer : I've decided I want to cover one more thing... Are you busy by any chance, Hong? lol

😄 Hong : Why are you looking for me during the holiday... lol. What kind of sudden inspiration did you get??

😄 Naver Developer : After working with NATS, I want to explore real-time communication more... I'm thinking of trying out Apache Flink, what do you think??

😁 Kakao Developer (Interviewer) : I told you lol, all he does is develop

😄 Hong : I'm all for working with anything new, but I haven't used that before ㅠㅠ

😄 Naver Developer : It's okay lol. I'll prepare all the materials. Please join me... T_T Apache Flink is really good, but people don't seem to know it well... Real-time data collection is actually very important from a career perspective, so I don't know why people don't work with it more.

😄 Naver Developer : Aren't you curious about things like real-time recommendations or real-time billing calculation...? lol

😄 Hong : Lol, I'm always down. Let's try preparing it together.. I'll sacrifice my annual leave to make it happen.

What do Naver developers work on for real-time ultra-low latency communication?? ⚡

In modern data structures, everything is connected in real-time. Beyond Netflix's recommendation system, how would you implement processes such as real-time synchronized ticket statuses or Uber's real-time synchronized pricing policies? Every time, you find yourself wondering: Should I process this in batches? But then there will be bottlenecks or a loss of real-time capability, so what should I do? I've heard of stream processing, but how do I apply it? Which platform should I adopt? What are the trade-offs? And what is this concept of a "Window"?

The answer lies right here in this course. Apache Flink, which can be adopted to meet business requirements for real-time ultra-low latency!! Learn how to process data in real-time by connecting various sources, the philosophy of Event Time from a Window perspective, and managing historical states through State management. Through this course, master the stability and optimization techniques for your real-time or ultra-low latency processing modules and apply them to your practical work.

This is not just a course that covers theory. I hope you take the time to learn how to directly use and implement the Apache Flink platform through various actual source codes and example codes. 🚀

Why Apache Flink

Apache Flink goes beyond simply delivering messages; it is a stream processing engine that processes and interprets the real-time data flow itself. While traditional messaging systems focus on data delivery, Flink is designed to perform aggregation, transformation, and stateful processing within a single pipeline as data flows through. In particular, Flink's core strength lies in its ability to guarantee accurate results even in data environments where data is delayed or out of order, centered around an Event Time-based processing model. This allows for the stable implementation of systems where time accuracy directly impacts business quality, such as real-time recommendations, real-time billing, and anomaly detection.

Furthermore, by providing batch and stream processing as a single unified execution model rather than separating them, Flink helps overcome the limitations of existing batch systems and naturally build always-on real-time applications. Its fault recovery mechanism based on checkpointing and state snapshots also provides high reliability in distributed environments. Thanks to these features, Apache Flink has moved beyond being a simple technology choice to become a core platform for designing real-time data-centric architectures, playing an increasingly important role in modern service environments that must simultaneously satisfy large-scale traffic and complex business logic.


The official Apache Flink documentation introduces itself as follows.

Stateful Computations over Data Streams

Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.

( Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink is designed to run in all common cluster environments and is built to scale to large-scale data processing at in-memory speeds. )

In modern architectures, data is constantly generated across services and must be processed in real-time. In such an environment, learning Apache Flink—which allows you to go beyond the limitations of batch processing to immediately process data on a stream basis and manage state—has become a near-essential skill rather than an option. Flink, which provides ultra-low latency processing, accurate event-time operations, and reliable state management, is a core platform for building high-performance real-time data architectures.

I highly recommend learning how to utilize Apache Flink through this course and growing into a developer with a tech stack that sets you apart from others. 🚀

Key features of this course

📌 The distributed stream processing engine used by actual Naver developers in practice

  • This course was developed in collaboration with a current developer at Naver. Rather than simply covering what real-time processing is, you can learn by building Apache Flink, a stream processing engine that processes and interprets real-time data flows. Through this, we have prepared content that allows for broad learning with a focus on practical application.

📌 Lecture summary, source code, and various state concepts of Apache Flink

  • In every lecture, we provide actual diagrams or show the practical process extensively. We teach you not just how to follow along, but the actual operating processes and applicable patterns.


📌 A skilled junior if they know it... a capable senior if they know it. Distributed messaging protocol services for professional growth.

  • Do you only know Batch for processing large-scale data and CronJob for periodic execution?? Modern systems manage various data states through real-time processing rather than such periodic processing. Apache Flink is a representative solution that can be introduced for this..!! This is one-of-a-kind content on Inflearn.

I recommend this to the following people 👨‍🏫

🎯 Beginner to intermediate developers who only know Batch & CronJob for data processing

  • There are so many ways to process data. While there are methods like Batch for large-scale processing and CronJob for periodic tasks, real-time processing is essential in modern architecture..! I highly recommend giving it a try.

🎯 Developers who want to learn real-time stream processing from scratch

  • This course is the perfect fit. As a server developer, gain a solid understanding of why real-time processing is essential by learning modern data processing methods through this course.

🎯 Apache Flink - senior developers who are curious about the platform's ecosystem

  • Even experienced developers often haven't heard of Apache Flink. I recommend it because it allows you to acquire a new technology that others aren't yet familiar with.


🎯 For those curious about the inner workings of real-time recommendation systems (Netflix) and real-time fare calculation (Uber) platforms: Backend job seekers and junior developers

  • All of these services support real-time stream processing. Use this course as an opportunity to broaden your perspective on how these processes work.


The profile of the Naver developer who prepared this lecture 🤭


I am Ande (alias), a backend server developer with 10 years of experience currently working at Naver.

I created this course because I wanted to share and discuss the various technologies and stacks I'm familiar with. I hope others can acquire my know-how and avoid making the same mistakes I did.

I joined this project through a recommendation from an acquaintance (a Kakao interviewer) and filmed this under Hong's leadership. I have put in a lot of effort to pack in as much content as possible, so I hope you find it helpful. Also, please feel free to ask any questions. I will do my best to check and answer them. Thank you.

[Current] Naver Server (HQ) Developer

[Former] Backend Developer at Shinsegae Group

[Former] Healthcare Startup Server Developer

[Former] Computer Science major at a 4-year university in Seoul

Notes

Practice Environment

  • IDE

    • Visual Studio Code

  • OS

    • Apple M3 Air

I use Java, Apache Flink, Docker, and docker-compose technologies.

Recommended for
these people

Who is this course right for?

  • A backend developer who constantly hits a design wall when faced with the limitations of Batch and CronJob.

  • Developers who use Kafka but feel stuck on the 'next step'

  • Developers who only have an intuitive understanding of real-time recommendation, billing, and aggregation system architectures

  • Stream processing beginners who always find the concepts of Event Time and State challenging

  • Mid-to-senior developers looking to differentiate their careers through real-time data processing

Hello
This is

5,964

Learners

391

Reviews

127

Answers

4.7

Rating

22

Courses

Introduction

I started studying development after finding it interesting while lounging around at home, and I am currently working as a platform server developer in Pangyo. I am continuing my activities as a knowledge sharer because I want to provide you with the methods I used to study, as well as the various problems and solutions you may encounter in the field.

These lectures are not created through my knowledge alone. Every lecture is made possible by those who work alongside me.

Instructor Experience

[Former] Blockchain developer for Sandbox IP

[Former] Metaverse Backend Developer

[Current] Veteran server developer based in Pangyo

Interview History

Other inquiries

  • unduck2022@gmail.com

Curriculum

All

27 lectures ∙ (6hr 45min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

6 reviews

5.0

6 reviews

  • and3839455877님의 프로필 이미지
    and3839455877

    Reviews 2

    Average Rating 5.0

    Edited

    5

    96% enrolled

    I'm already opening my second course!! Personally, I have a strong desire to share knowledge, so I wanted to freely share everything I know with you. The topic I want to cover this time is Apache Flink, which I've selected as a subject that you should definitely know about. Let me be honest!! If you don't have knowledge about real-time communication, this content might be difficult for you to understand. (Of course, I'll teach you everything, and honestly, I think the course is structured really well. haha) But you absolutely must learn this. Even though it's difficult, I want to guarantee and tell you that you must learn it. Real-time communication seems to be becoming extremely important in today's era. I think we need to provide more content to generate more traffic and collect more data. In fact, this aspect is reflected in numerous large corporations and unicorn startups. Netflix's recommendation system that you know, Uber's real-time fare calculation, and recommendation systems like Musinsa I haven't seen any platform or service that you use that doesn't include this real-time communication. So please, I really hope many people learn through this video. You really must learn this. Please, I'm begging you for the sake of your career hahaha

    • jhong
      Instructor

      LOL I've never seen someone so passionate before. I also think that real-time communication as a career is truly a huge help from a developer's perspective. I really resonate with what this person said, and I hope many people recognize and take note of the parts we're relating to. It's always an honor to create great courses together~~! Looking forward to continuing to work with you!!

  • bosterbucheon2980님의 프로필 이미지
    bosterbucheon2980

    Reviews 1

    Average Rating 5.0

    5

    89% enrolled

    At first I was like, "Do I really need to know this?? Is it right for my career to study this??" But wow, this is really so beneficial. It's not just a simple lecture - you learn about the service called Flink, but it seems like a lecture that lets you see beyond that. I really enjoyed the lecture.

    • jhong
      Instructor

      Hello Boosta!! It's a difficult platform, but I tried my best to explain and share things as simply as possible. Thank you for your encouraging review!!

  • gjsu540607534님의 프로필 이미지
    gjsu540607534

    Reviews 4

    Average Rating 5.0

    5

    78% enrolled

    I really enjoyed the lecture. The structure is excellent. I think I've clearly understood what real-time communication is through just this one lecture. It wasn't simply about covering the Flink platform, but also content where I could get a glimpse of that senior developer's perspective.

    • jhong
      Instructor

      Hello, developer born in '02!! Thank you for leaving such a positive review!! As you mentioned, I wanted to provide a perspective that allows you to see things from a broader viewpoint rather than just simple usage methods. I'll continue to provide more beneficial lectures in the future. Thank you for your review, and have a great day!!

  • warna97725274님의 프로필 이미지
    warna97725274

    Reviews 3

    Average Rating 5.0

    5

    85% enrolled

    I recently got a job at Naver Cloud while watching your lectures!! I'm truly so grateful. You're my favorite instructor on Inflearn, and although you may not be famous, I think these are excellent lectures because every course shows how you teach so many concepts in a short time and make efforts to use time efficiently. This time too, I enrolled right as soon as you opened the new course... and as expected, the content is really beneficial. It was content I could learn a lot from.

    • jhong
      Instructor

      Hello warna! Naver Cloud, wow!!! You really made it there haha I'm so jealous!! If I get the chance, maybe I could too...? lol Just kidding. I'll continue to cover more useful and interesting content and become an instructor who connects with all of you. Have a great day and I hope only good things come your way!!

  • miaaade9585868님의 프로필 이미지
    miaaade9585868

    Reviews 6

    Average Rating 5.0

    5

    89% enrolled

    I think this is one of the best courses I've seen on Inflearn..!! The theoretical parts are not lacking at all, and I think you can learn a great deal across the board, from example code to hands-on practice. When explaining the concept of Source, I found it even more impressive that you implemented it without using external storage or MSQ. If you had covered that part, it probably would have deviated somewhat from the course objectives. I really enjoyed the course. I'm learning so much from it.

    • jhong
      Instructor

      Hello Amy!! Thank you so much for leaving this review. To say it's one of the best lectures ㅠㅠ that's such an encouraging comment. I'll prepare the next lecture with even more useful content that can help you, Amy. Have a great day!

$53.90

Hong's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!