강의

멘토링

커뮤니티

NEW
Programming

/

Back-end

Real-time Ultra-low Latency Apache Flink Explained by a Naver Interviewer

Most developers still remain stuck with Batch and CronJob when talking about data processing. However, in real service environments, data is constantly being generated, and if you can't process that flow immediately, it leads to delays, bottlenecks, and consistency issues. I too have directly experienced real-time recommendation, state synchronization, and event delay problems in high-traffic environments, and have countless times wondered, "Is it right to handle this with batch processing?" This course starts from exactly that question. Using Apache Flink, it explains from a practical perspective how to compute data the moment it flows, safely manage state, and produce accurate results based on Event Time. Rather than simple theoretical explanations, you can experience how real-time stream processing systems are designed and operated through actual source code and architecture. For those who found real-time processing vague, or were curious about the world beyond messaging, this course will provide clear direction.

(5.0) 5 reviews

58 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

What you will gain after the course

  • A design that processes data based on real-time streams rather than batches

  • Accurately processing even delayed data using Event Time and Watermark

  • Implementing 'Stateful' Real-time Applications through Stateful Processing

  • Stream Processing Pipeline Ready for Production with Apache Flink

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

A Naver developer explains the OpenSource Platform for real-time Stateful communication.

  • The content below is an actual conversation.

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

😄 Hong : Why are you looking for me during the holiday... lol What sparked your interest??

😄 Naver Developer : After working with NATS once, I want to explore more real-time communication... What do you think about trying Apache Flink?

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

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

😄 Naver Developer : It's okay lol I'll prepare all the materials. Please just work on it with me... ㅠ Apache Flink is really good but people don't know much about it... Real-time data collection is really important from a career perspective too, but I don't understand why people don't work with it.

😄 Naver Developer : Aren't you curious about things like real-time recommendations or real-time fare calculations...? hahahahaha

😄 Hong : Hahahaha I'm always up for it. Let's prepare it together.. I'll sacrifice my annual leave to make it happen.

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

Modern data structures have everything connected in real-time. Beyond Netflix's recommendation system, how would you implement things like real-time synchronized ticket status or Uber's real-time synchronized pricing policy??Every time, you face these dilemmas. Should I process it in batches?? But then there would be bottlenecks and reduced real-time performance, so what should I do?? I've heard about stream processing, but how do I apply that?? Which platform should I adopt?? What are the tradeoffs that come with it?? And what is this concept of Windows??

The answer to that is right here in this course. Apache Flink, which can be introduced to meet business requirements for real-time ultra-low latency!! Learn how to process data in real-time through various source connections, the philosophy of Event Time from a Window perspective, managing past states through State management, and more. Through this course, thoroughly learn the stability and optimization techniques for your real-time processing modules or ultra-low latency processing modules and apply them in practice.

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

Why Apache Flink

Apache Flink goes beyond simply delivering messages—it is a stream processing engine that processes and interprets real-time data flows themselves. 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 Event Time-based processing model, which ensures accurate results even in data environments with delays or out-of-order events. This enables stable implementation of systems where time accuracy directly impacts business quality, such as real-time recommendations, real-time billing, and anomaly detection.

Additionally, Flink overcomes the limitations of traditional batch systems by providing a unified execution model that doesn't separate batch and stream processing, helping to naturally compose always-on real-time applications. The fault recovery mechanism based on checkpointing and state snapshots also provides high reliability in distributed environments. Thanks to these characteristics, Apache Flink has established itself as more than just a technology choice, but as a core platform for designing real-time data-centric architectures, and is playing an increasingly important role in modern service environments that must simultaneously satisfy large-scale traffic and complex business logic.


Apache Flink introduces itself this way in its official documentation.

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 has been designed to run in all common cluster environments and is built to scale from in-memory speed to large-scale data processing.

In modern architectures, data is constantly generated across services and must be processed in real-time. In such environments, learning Apache Flink, which goes beyond the limitations of batch processing to immediately process data in a stream-based manner and manage state, has become not just an option but an essential skill. Flink, which provides ultra-low latency processing, precise event time-based operations, and reliable state management, can be considered a core platform for building high-performance real-time data architectures.

I highly recommend taking this opportunity to learn how to use Apache Flink and grow as a developer with a differentiated tech stack from others. 🚀

Key Features of This Course

📌 Distributed stream processing engine used by actual Naver developers in production

  • This course was developed with the participation of a current developer working at Naver. Rather than simply covering what real-time processing is, you can learn by writing and working with Apache Flink, a stream processing engine that processes and interprets real-time data flows themselves. Through this, we have prepared content that allows you to learn extensively with a focus on practical work.

📌 Lecture Summary, Source Code, and Various State Concepts in Apache Flink

  • In all lectures, we provide actual diagrams or extensively demonstrate the hands-on process. We teach you not just to follow along, but the actual working process and applicable patterns.


📌 A junior who knows this is a good junior... A senior who knows this is a capable senior - Distributed messaging protocol service for this

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

We recommend this for 👨‍🏫

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

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

🎯 Developers who know nothing about real-time stream processing and want to learn

  • This course is the most suitable. As a server developer, to learn modern data processing methods, take this course to clearly understand why real-time processing is important.

🎯 Senior developers curious about the ecosystem of the Apache Flink platform

  • Many developers, even those with some experience, are hearing about Apache Flink for the first time. That's exactly why I recommend it - you can acquire new technology that others don't know about yet.


🎯 Backend job seekers and junior developers curious about the internals of real-time recommendation systems (Netflix) and real-time fare calculation (Uber) platforms

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


The background of the Naver developer who prepared this course 🤭


I'm Ande (abbreviated), a backend server developer with 10 years of experience working at Naver.

I wanted to create this course to share and discuss the various technologies and stacks I know with others. I hope others can learn from my know-how and avoid making the same mistakes I did.

I joined through a referral from an acquaintance (a Kakao interviewer), and we filmed together under Hong's leadership. We tried our best to include as much content as possible, so please show a lot of interest. Also, please feel free to ask questions. I will do my best to check and respond to them. Thank you.

[Current] Naver Server (Headquarters) Developer

[Former] Backend Developer at Shinsegae Group

[Former] Healthcare Startup Server Developer

[Former] Bachelor's degree in Computer Science from a 4-year university in Seoul

Notes

Practice Environment

  • IDE

    • Visual Studio Code

  • OS

    • Apple M3 Air

The technologies used are Java, Apache Flink, Docker, and docker-compose.

Recommended for
these people

Who is this course right for?

  • A backend developer whose designs keep getting blocked by the limitations of Batch and CronJob

  • Developers who use Kafka but feel frustrated not knowing 'the next step'

  • A developer who only has a vague understanding of real-time recommendation, billing, and aggregation system architecture

  • A stream beginner who always finds the concepts of Event Time and State difficult

  • Mid-level and senior developers who want to differentiate their careers through real-time data processing

Hello
This is

5,355

Learners

367

Reviews

123

Answers

4.7

Rating

21

Courses

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다. 제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

강의는 오로지 저만의 지식을 통해 만들어지지 않습니다. 모든 강의는 함께하시는 분들이 계십니다.

 

지식공유자 경력

[前] 샌드박스IP 관련 블록체인 개발자

[前] 메타버스 백엔드 개발자

[] 판교에서 고여가는 서버 개발자

 

인터뷰 이력

기타 문의

  • unduck2022@gmail.com

Curriculum

All

27 lectures ∙ (6hr 45min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

5 reviews

5.0

5 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!!

  • 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!

  • 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.

    Limited time deal

    $26.40

    68%

    $84.70

    Hong's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!