강의

멘토링

커뮤니티

NEW
Programming

/

Back-end

Giám khảo phỏng vấn Naver chia sẻ về Apache Flink độ trễ cực thấp thời gian thực

Hầu hết các developer khi nói về xử lý dữ liệu vẫn chỉ dừng lại ở Batch và CronJob. Nhưng trong môi trường dịch vụ thực tế, dữ liệu được tạo ra liên tục, và nếu không xử lý ngay luồng dữ liệu đó, sẽ dẫn đến các vấn đề về độ trễ, nghẽn cổ chai và tính nhất quán. Bản thân tôi cũng đã trải qua trực tiếp các vấn đề về gợi ý thời gian thực, đồng bộ trạng thái, và độ trễ sự kiện trong môi trường traffic lớn, và đã vô số lần tự hỏi "Liệu xử lý bằng batch có đúng không?". Khóa học này xuất phát từ chính câu hỏi đó. Sử dụng Apache Flink để tính toán ngay tại thời điểm dữ liệu đang chảy, quản lý trạng thái một cách an toàn, và tạo ra kết quả chính xác dựa trên Event Time từ góc độ thực tế. Không chỉ là giải thích lý thuyết đơn thuần, mà bạn sẽ trải nghiệm cách một hệ thống xử lý stream thời gian thực được thiết kế và vận hành như thế nào thông qua source code và cấu trúc thực tế. Khóa học này sẽ đưa ra hướng đi rõ ràng cho những ai cảm thấy xử lý thời gian thực còn mơ hồ, và những ai tò mò về thế giới sau messaging.

(5.0) 5 đánh giá

71 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

  • Hong
실습 중심
실습 중심
백엔드이해하기
백엔드이해하기
실시간
실시간
토이프로젝트
토이프로젝트
백엔드
백엔드
Java
Java
Docker
Docker
docker-compose
docker-compose
flink
flink
실습 중심
실습 중심
백엔드이해하기
백엔드이해하기
실시간
실시간
토이프로젝트
토이프로젝트
백엔드
백엔드
Java
Java
Docker
Docker
docker-compose
docker-compose
flink
flink

Đánh giá từ những học viên đầu tiên

Bạn sẽ nhận được điều này sau khi học.

  • Thiết kế xử lý dữ liệu dựa trên luồng thời gian thực thay vì theo lô

  • Xử lý chính xác cả dữ liệu trễ bằng cách sử dụng Event Time·Watermark

  • Triển khai ứng dụng thời gian thực 'có trạng thái' thông qua Stateful Processing

  • Xây dựng pipeline xử lý luồng dữ liệu có thể áp dụng ngay vào thực tế với Apache Flink

  • Kiến trúc có thể thiết kế hệ thống đề xuất, tính phí và tổng hợp theo thời gian thực

Nền tảng OpenSource cho giao tiếp Stateful thời gian thực - Nhà phát triển Naver chia sẻ.

  • Nội dung bên dưới là cuộc trò chuyện thực tế.

😄 Nhà phát triển Naver : Tôi muốn tìm hiểu thêm một cái nữa.. Hong có bận không ạ?? ㅋㅋㅋㅋㅋㅋ

😄 Hong : Sao lại tìm tôi vào ngày nghỉ lễ vậy... ㅋㅋㅋㅋ Có ý tưởng gì hay à??

😄 Lập trình viên Naver : Sau khi làm việc với NATS một lần, tôi muốn tìm hiểu thêm về giao tiếp thời gian thực.. Thử làm việc với Apache Flink một lần thì sao??

😁 Lập trình viên Kakao (người phỏng vấn) : Tôi đã nói rồi mà kkk anh ấy chỉ làm phát triển thôi

😄 Hong : Tôi rất tán thành việc thử những thứ mới, nhưng tôi chưa dùng cái đó bao giờ ㅠㅠ

😄 Lập trình viên Naver : Không sao đâu ㅋㅋㅋ Tôi sẽ làm hết tài liệu. Làm cùng tôi một chút đi... ㅠ Apache Flink thực sự tốt mà mọi người không biết nhiều lắm... Về mặt sự nghiệp thì thu thập dữ liệu thời gian thực thực sự quan trọng mà tôi không hiểu sao mọi người không làm việc với nó.

😄 Nhà phát triển Naver : Các bạn không tò mò về đề xuất thời gian thực hay tính toán phí thời gian thực sao...? ㅋㅋㅋㅋㅋㅋㅋ

😄 Hong : ㅋㅋㅋㅋ Tôi lúc nào cũng thích mà. Hãy cùng chuẩn bị một lần xem.. Tôi sẽ đóng góp ngày phép của mình để làm điều đó.

Các nhà phát triển Naver làm gì để có được giao tiếp thời gian thực với độ trễ cực thấp?? ⚡

Cấu trúc dữ liệu hiện đại có mọi thứ được kết nối theo thời gian thực. Vượt xa hệ thống đề xuất của Netflix, trạng thái vé được đồng bộ hóa theo thời gian thực hoặc chính sách giá của Uber được đồng bộ hóa theo thời gian thực, các bạn có thể triển khai những quy trình như thế này bằng cách nào??Mỗi lần như vậy lại phải băn khoăn. Nên xử lý theo batch?? Nhưng như vậy sẽ bị nghẽn cổ chai và tính thời gian thực sẽ giảm thì phải làm sao?? Có nghe nói về xử lý stream nhưng cái này lại áp dụng như thế nào?? Nên đưa vào nền tảng nào?? Tradeoff tương ứng với điều đó lại là gì?? Khái niệm Window lại là gì nữa??

Câu trả lời cho điều đó chính là trong khóa học này. Apache Flink có thể được áp dụng để đáp ứng yêu cầu kinh doanh về xử lý thời gian thực với độ trễ cực thấp!! Phương pháp xử lý dữ liệu theo thời gian thực thông qua kết nối với nhiều nguồn khác nhau, triết lý về Event Time từ góc độ Window, quản lý trạng thái trong quá khứ thông qua quản lý State, v.v. Hãy học chắc chắn các kỹ thuật tối ưu hóa và độ tin cậy cho module xử lý thời gian thực hoặc module xử lý độ trễ cực thấp của bạn thông qua khóa học này và áp dụng vào thực tế công việc.

Đây không chỉ là một khóa học lý thuyết đơn thuần. Tôi hy vọng bạn sẽ có thời gian học cách sử dụng và triển khai trực tiếp nền tảng Apache Flink thông qua các mã nguồn thực tế và mã ví dụ đa dạng. 🚀

Tại sao chọn Apache Flink

Apache Flink không chỉ đơn thuần là truyền tải thông điệp, mà là một công cụ xử lý luồng dữ liệu thời gian thực, có khả năng xử lý và phân tích chính luồng dữ liệu đó. Nếu như các hệ thống messaging truyền thống tập trung vào việc truyền tải dữ liệu, thì Flink được thiết kế để có thể thực hiện tổng hợp, chuyển đổi và quản lý trạng thái (Stateful Processing) ngay trong quá trình dữ liệu đang chảy, tất cả trong một pipeline duy nhất. Đặc biệt, với mô hình xử lý dựa trên Event Time làm trung tâm, điểm mạnh cốt lõi của Flink là khả năng đảm bảo kết quả chính xác ngay cả trong môi trường dữ liệu bị trễ hoặc không đảm bảo thứ tự. Nhờ đó, có thể triển khai một cách ổn định các hệ thống mà độ chính xác về thời gian ảnh hưởng trực tiếp đến chất lượng kinh doanh, như gợi ý thời gian thực, tính phí thời gian thực, và phát hiện bất thường.

Ngoài ra, Flink cung cấp mô hình thực thi thống nhất cho cả xử lý batch và stream thay vì tách biệt chúng, giúp vượt qua giới hạn của hệ thống batch truyền thống và hỗ trợ xây dựng một cách tự nhiên các ứng dụng thời gian thực luôn hoạt động. Cơ chế phục hồi lỗi dựa trên checkpointing và state snapshot cũng cung cấp độ tin cậy cao trong môi trường phân tán. Nhờ những đặc điểm này, Apache Flink không chỉ là một lựa chọn công nghệ đơn thuần mà đang trở thành nền tảng cốt lõi để thiết kế kiến trúc hướng dữ liệu thời gian thực, và đang đóng vai trò ngày càng quan trọng trong môi trường dịch vụ hiện đại cần đáp ứng đồng thời lưu lượng truy cập lớn và logic nghiệp vụ phức tạp.


Trong tài liệu chính thức của Apache Flink, họ giới thiệu về mình như sau.

Tính toán có trạng thái trên các luồng dữ liệu

Apache Flink là một framework và công cụ xử lý phân tán để thực hiện các tính toán có trạng thái trên các luồng dữ liệu vô hạn (unbounded) và hữu hạn (bounded). Flink được thiết kế để chạy trong tất cả các môi trường cluster phổ biến, thực hiện các tính toán ở tốc độ in-memory và ở mọi quy mô.

( Apache Flink là một framework và engine xử lý phân tán để thực hiện các phép tính có trạng thái trên các luồng dữ liệu vô hạn (unbounded) và hữu hạn (bounded). Flink được thiết kế để có thể chạy trên tất cả các môi trường cluster phổ biến và có khả năng mở rộng để xử lý dữ liệu quy mô lớn với tốc độ ở mức in-memory. )

Trong kiến trúc hiện đại, dữ liệu được tạo ra liên tục trên toàn bộ các dịch vụ và cần được xử lý theo thời gian thực. Trong môi trường như vậy, việc học Apache Flink - công cụ có thể vượt qua giới hạn của xử lý theo lô, xử lý dữ liệu ngay lập tức dựa trên luồng và quản lý trạng thái - đã trở thành một kỹ năng gần như bắt buộc chứ không còn là lựa chọn. Flink cung cấp xử lý độ trễ cực thấp, tính toán chính xác dựa trên thời gian sự kiện (Event Time) và quản lý trạng thái ổn định, có thể được coi là nền tảng cốt lõi để xây dựng kiến trúc dữ liệu thời gian thực hiệu suất cao.

Tôi khuyên bạn nên tận dụng thời gian này để học cách sử dụng Apache Flink và phát triển thành một lập trình viên với bộ kỹ năng công nghệ khác biệt so với người khác. 🚀

Đặc điểm của khóa học này

📌 Công cụ xử lý luồng phân tán được sử dụng trong thực tế bởi các nhà phát triển Naver

  • Đây là khóa học được xây dựng với sự tham gia của các lập trình viên đang làm việc tại Naver. Không chỉ đơn thuần đề cập đến xử lý thời gian thực là gì, mà bạn còn có thể học tập thông qua việc cùng nhau xây dựng Apache Flink - một công cụ xử lý luồng dữ liệu có khả năng xử lý và phân tích chính luồng dữ liệu thời gian thực. Thông qua đó, chúng tôi đã chuẩn bị nội dung giúp bạn học hỏi một cách sâu rộng với trọng tâm hướng đến thực tế công việc.

📌 Tóm tắt bài giảng, mã nguồn và các khái niệm trạng thái đa dạng của Apache Flink

  • Trong tất cả các bài giảng, chúng tôi cung cấp sơ đồ thực tế hoặc trình bày rộng rãi về quá trình thực hành. Không chỉ đơn thuần làm theo mà còn hướng dẫn quy trình hoạt động thực tế và các mẫu có thể áp dụng.


📌 Junior biết thì là junior giỏi.. Senior biết thì là senior có năng lực - Dịch vụ giao thức nhắn tin phân tán cho điều này

  • Bạn chỉ biết đến Batch để xử lý dữ liệu lớn và CronJob để thực thi định kỳ?? Trong các hệ thống hiện đại, thay vì xử lý định kỳ như vậy, người ta đang quản lý các trạng thái dữ liệu đa dạng thông qua xử lý thời gian thực. Để làm được điều này, có thể triển khai Apache Flink..!! Đây là nội dung duy nhất (唯一無二) trên Inflearn.

Khóa học này phù hợp với 👨‍🏫

🎯 Lập trình viên cấp độ sơ-trung cấp chỉ biết đến Batch & CronJob trong xử lý dữ liệu who only know Batch & CronJob for data processing

  • Có rất nhiều cách thức xử lý dữ liệu khác nhau. Tuy có xử lý khối lượng lớn như Batch, xử lý định kỳ như CronJob, nhưng xử lý thời gian thực là yếu tố bắt buộc trong kiến trúc hiện đại..! Tôi thực sự khuyến khích bạn nên học thử một lần.

🎯 Không biết gì về xử lý luồng thời gian thực và muốn học hỏi

  • Khóa học này là phù hợp nhất. Để học cách xử lý dữ liệu hiện đại với tư cách là một lập trình viên server, hãy tìm hiểu rõ ràng tại sao xử lý thời gian thực lại quan trọng thông qua khóa học này.

🎯 Lập trình viên senior tò mò về hệ sinh thái của nền tảng Apache Flink

  • Ngay cả những người đã có kinh nghiệm phát triển, nhiều người cũng chưa từng nghe về Apache Flink. Chính vì vậy, tôi khuyên bạn nên học vì đây là cơ hội để nắm bắt công nghệ mới mà người khác chưa biết đến.


🎯 Dành cho các bạn tò mò về cơ chế bên trong của hệ thống đề xuất thời gian thực (Netflix), nền tảng tính toán giá cước thời gian thực (Uber) - Sinh viên chuẩn bị phỏng vấn Backend và Junior Developer

  • Tất cả các dịch vụ này đều hỗ trợ xử lý luồng dữ liệu thời gian thực. Hãy tận dụng khóa học này như một cơ hội để mở rộng tầm nhìn của bạn về cách thức hoạt động của những quy trình này.


Lý lịch của nhà phát triển Naver đã chuẩn bị khóa học này 🤭


Tôi là Ande (tên viết tắt), một lập trình viên backend server với 10 năm kinh nghiệm đang làm việc tại Naver.

Tôi muốn chia sẻ và thảo luận về các công nghệ và stack đa dạng mà tôi biết với mọi người nên đã tạo ra khóa học này. Tôi mong muốn mọi người có thể tiếp thu được know-how của tôi và không mắc phải những sai lầm giống như tôi.

Tôi đã tham gia cùng nhờ sự giới thiệu của người quen (phỏng vấn viên Kakao) và quay phim cùng nhau dưới sự dẫn dắt của Hong. Chúng tôi đã cố gắng truyền tải càng nhiều nội dung càng tốt. Mong nhận được nhiều sự quan tâm của các bạn. Ngoài ra, đừng ngại đặt câu hỏi. Tôi sẽ cố gắng kiểm tra và trả lời tối đa. Cảm ơn các bạn.

[Hiện tại] Lập trình viên Server tại Naver (trụ sở chính)

[Trước] Lập trình viên Backend thuộc Tập đoàn Shinsegae

[Trước] Lập trình viên server tại startup chăm sóc sức khỏe

[Trước] Chuyên ngành Công nghệ Thông tin 4 năm tại Seoul

Lưu ý

Môi trường thực hành

  • IDE

    • Visual Studio Code

  • Hệ điều hành

    • Apple M3 Air

Sử dụng các công nghệ Java, Apache Flink, Docker, docker-compose.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Lập trình viên backend liên tục gặp khó khăn trong thiết kế trước những hạn chế của Batch và CronJob

  • Lập trình viên đang sử dụng Kafka nhưng cảm thấy bế tắc vì không biết 'bước tiếp theo'

  • Lập trình viên chỉ hiểu cấu trúc hệ thống đề xuất·tính phí·thống kê thời gian thực bằng cảm tính

  • Người mới bắt đầu với stream luôn cảm thấy khái niệm Event Time·State khó hiểu

  • Lập trình viên cấp trung và cao cấp muốn tạo sự khác biệt trong sự nghiệp thông qua xử lý dữ liệu thời gian thực

Xin chào
Đây là

5,406

Học viên

368

Đánh giá

124

Trả lời

4.7

Xếp hạng

21

Các khóa học

자기 소개

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

기타 문의

  • unduck2022@gmail.com

Chương trình giảng dạy

Tất cả

27 bài giảng ∙ (6giờ 45phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

5 đánh giá

5.0

5 đánh giá

  • and3839455877님의 프로필 이미지
    and3839455877

    Đánh giá 2

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    96% đã tham gia

    Tôi đã mở khóa học thứ hai rồi!! Cá nhân tôi rất thích chia sẻ kiến thức nên muốn truyền đạt hết những gì tôi biết cho các bạn. Nội dung lần này tôi muốn đề cập là về Apache Flink, một chủ đề mà tôi cho rằng các bạn nhất định nên biết. Nói thật nhé!! Nếu các bạn không có kiến thức về truyền thông thời gian thực thì có thể sẽ khó hiểu nội dung này. (Tất nhiên tôi sẽ giải thích hết và thành thật mà nói tôi nghĩ khóa học này được cấu trúc rất tốt. ㅎㅎ) Nhưng các bạn nhất định phải học. Tôi dám khẳng định rằng dù khó nhưng các bạn nhất định phải học. Truyền thông thời gian thực dường như đang trở nên vô cùng quan trọng trong thời đại ngày nay. Tôi nghĩ chúng ta phải cung cấp nhiều nội dung hơn để tạo ra nhiều lưu lượng truy cập hơn và thu thập nhiều dữ liệu hơn. Thực tế, phần này đã được áp dụng ở nhiều tập đoàn lớn và startup unicorn. Hệ thống gợi ý của Netflix mà các bạn biết, tính toán giá cước thời gian thực của Uber, hay hệ thống gợi ý như Musinsa chẳng hạn. Hầu hết các nền tảng hoặc dịch vụ mà các bạn sử dụng, tôi chưa thấy trường hợp nào thiếu truyền thông thời gian thực này. Vì vậy, tôi rất mong nhiều người sẽ học hỏi qua video này. Các bạn thực sự phải học nhé. Vì sự nghiệp của chính các bạn, tôi xin nhờ các bạn điều này ㅎㅎㅎ

    • jhong
      Giảng viên

      Hahahaha đây là lần đầu tiên tôi thấy ai đó nhiệt tình đến vậy. Tôi cũng nghĩ rằng lĩnh vực truyền thông thời gian thực thực sự là một sự trợ giúp lớn từ góc độ của một developer. Tôi thực sự đồng cảm với những gì người này đã chia sẻ và hy vọng nhiều người sẽ nhận ra và tham khảo những điểm mà chúng tôi đồng cảm. Luôn vinh dự khi được cùng tạo ra những khóa học hay~~! Rất mong được tiếp tục hợp tác!!

  • gjsu540607534님의 프로필 이미지
    gjsu540607534

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    78% đã tham gia

    Tôi đã xem bài giảng rất hay. Cấu trúc quá tốt. Tôi nghĩ chỉ với một bài giảng này thôi là đã hiểu rõ ràng về giao tiếp thời gian thực là gì rồi. Không chỉ đơn thuần là giới thiệu về nền tảng Flink mà còn có thể thấy được quan điểm của một senior developer nữa.

    • jhong
      Giảng viên

      Xin chào bạn developer sinh năm 2002!! Cảm ơn bạn đã để lại đánh giá tốt!! Như bạn đã nói, mình muốn cung cấp góc nhìn rộng hơn chứ không chỉ là cách sử dụng đơn giản. Mình sẽ mang đến những khóa học bổ ích hơn nữa cho bạn. Cảm ơn đánh giá của bạn và chúc bạn một ngày tốt lành!!

  • warna97725274님의 프로필 이미지
    warna97725274

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    85% đã tham gia

    Nhờ xem bài giảng của anh mà gần đây em đã chuyển việc sang Naver Cloud!! Thật sự rất cảm ơn anh ạ. Anh là người chia sẻ kiến thức mà em yêu thích nhất trên Inflearn và tuy không nổi tiếng lắm nhưng trong thời gian ngắn anh truyền đạt rất nhiều khái niệm và mỗi bài giảng đều thể hiện sự nỗ lực sử dụng thời gian hiệu quả nên em thấy đây là những bài giảng rất tuyệt vời. Lần này em cũng đăng ký học ngay khi anh mới mở khóa... và quả thật nội dung rất bổ ích ạ. Thật sự là những nội dung có thể học hỏi được rất nhiều.

    • jhong
      Giảng viên

      Xin chào warna, Naver Cloud đấy à!!! Bạn đã có một chuyến đi thật tuyệt vời nhỉ haha Thật đáng ghen tị!! Nếu có cơ hội thì mình cũng...? hahaha Đùa thôi, mình sẽ trở thành một giảng viên tiếp cận các bạn với những nội dung hữu ích và thú vị hơn nữa trong tương lai. Chúc bạn có một ngày tốt lành và hy vọng chỉ có những điều tốt đẹp đến với bạn!!

  • miaaade9585868님의 프로필 이미지
    miaaade9585868

    Đánh giá 6

    Đánh giá trung bình 5.0

    5

    89% đã tham gia

    Tôi nghĩ đây là một trong những khóa học đáng chú ý nhất mà tôi đã xem trên Inflearn..!! Phần lý thuyết hoàn toàn không thiếu sót và tôi nghĩ có thể học được rất nhiều điều từ code ví dụ cùng với các bài thực hành đi kèm. Tôi thấy ấn tượng nhất là khi giải thích khái niệm Source, giảng viên đã cố tình không sử dụng kho lưu trữ bên ngoài hay MSQ để triển khai. Nếu đề cập đến phần đó thì có lẽ sẽ hơi lệch khỏi mục tiêu của khóa học. Thực sự là một khóa học rất hay. Tôi đã học được quá nhiều điều.

    • jhong
      Giảng viên

      Xin chào Amy!! Cảm ơn bạn đã để lại đánh giá như vậy. Được nói là một trong những khóa học đáng kể nhất ㅠㅠ thật sự là đánh giá rất tiếp thêm động lực. Tôi sẽ chuẩn bị khóa học tiếp theo với nội dung bổ ích hơn và có thể giúp ích cho Amy. Chúc bạn có một ngày tốt lành!

  • bosterbucheon2980님의 프로필 이미지
    bosterbucheon2980

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    89% đã tham gia

    Ban đầu tôi nghĩ "Liệu mình có cần phải biết đến những thứ này không?? Học cái này có phù hợp với sự nghiệp của mình không??" nhưng wow thật sự cái này quá bổ ích. Không chỉ là một khóa học đơn thuần mà có vẻ như là khóa học giúp học về dịch vụ Flink nhưng còn có thể nhìn xa hơn nữa. Tôi đã xem khóa học rất hay.

    Ưu đãi có thời hạn

    31.900 ₫

    70%

    2.291.821 ₫

    Khóa học khác của Hong

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!