Apache Flink - Nền tảng thời gian thực độ trễ cực thấp được người phỏng vấn Naver sử dụng
Hầu hết các nhà phát triển vẫn chỉ dừng lại ở Batch và CronJob khi nói về xử lý dữ liệu. Tuy nhiên, 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 thể xử lý luồng đó ngay lập tức, nó 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ực tiếp trải qua các vấn đề về đề xuất thời gian thực, đồng bộ hóa trạng thái và trễ sự kiện trong môi trường lưu lượng truy cập lớn, và đã vô số lần trăn trở rằng: "Liệu xử lý việc này bằng Batch có thực sự đúng đắn không?". Khóa học này bắt đầu từ chính câu hỏi đó. Khóa học sẽ giải quyết dưới góc nhìn thực tiễn cách sử dụng Apache Flink để tính toán ngay tại thời điểm dữ liệu luân chuyển, 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. Không chỉ dừng lại ở việc giải thích lý thuyết đơn thuần, bạn sẽ được trải nghiệm cách thiết kế và vận hành hệ thống xử lý luồng thời gian thực thông qua mã nguồn và cấu trúc thực tế. Đối với những ai cảm thấy xử lý thời gian thực còn mơ hồ, hay những ai tò mò về thế giới sau hệ thống nhắn tin (messaging), khóa học này sẽ đưa ra một hướng đi rõ ràng.
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 ㅎㅎㅎ
5.0
에이미
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.
5.0
warna
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.
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ì xử lý theo lô.
Sử dụng Event Time·Watermark để xử lý chính xác ngay cả dữ liệu bị trễ
Triển khai ứng dụng thời gian thực ‘có trạng thái’ thông qua Stateful Processing
Pipeline xử lý luồng có thể áp dụng ngay vào thực tế với Apache Flink.
Kiến trúc thiết kế hệ thống gợi ý, tính cước và tổng hợp thời gian thực
Phát triển · Lập trình · Kỹ thuật dữ liệu
Nếu bạn vẫn còn đang dừng lại ở Batch và Cron Job
Dữ liệu liên tục đổ về nhưng việc xử lý chỉ chạy vào những khung giờ cố định. Khi sự chậm trễ tích tụ, nó sẽ trở thành nút thắt cổ chai và gây ra các vấn đề về tính nhất quán. Apache Flink là một công cụ xử lý luồng dữ liệu ngay khi chúng vừa đến. Khóa học này sẽ giúp bạn nắm vững cấu trúc đó ngay từ đầu.
Trình độ Nhập môn
Cung cấp mã ví dụ
Event Time · Watermark
Trực tiếp triển khai
Thời gian học không giới hạn
Từ kiến trúc đến triển khaiCấu trúc cụm · Quản lý trạng thái · Viết ví dụ
Event Time · WatermarkĐối mặt trực diện với khái niệm gây khó khăn nhất trong xử lý luồng dữ liệu (stream processing)
2 nhà phát triển đang đương nhiệm10 năm kinh nghiệm tại trụ sở Naver · Phát triển máy chủ nền tảng tại Pangyo
Flink là một công cụ xử lý dòng phân tán, xử lý dữ liệu liên tục đổ vào theo thời gian thực. Nếu batch thu thập và xử lý vào một thời điểm nhất định, thì stream sẽ xử lý ngay khi dữ liệu vừa đến.
Nơi bài giảng này bắt đầu
Đã đến được Kafka rồi nhưng sau đó thì không còn gì nữa
Batch · CronJob
Gom lại rồi xử lý sau
Nó chạy đồng loạt vào một thời điểm đã định. Dữ liệu đến trong khoảng thời gian đó phải chờ đợi. Độ trễ cứ thế tích tụ lại.
Khác biệt về hệ tư tưởng
Stream
ngay khi đến
Khi một sự kiện đi vào, nó sẽ được xử lý ngay tại chỗ. Đây là cách thức xử lý dữ liệu không có điểm kết thúc.
Nhiều người đã đạt đến bước truyền các sự kiện qua Kafka. Nhưng họ thường bị khựng lại ở giai đoạn tổng hợp và duy trì trạng thái trên luồng dữ liệu đó. Khóa học này sẽ giải quyết chính vấn đề đó.
Nơi bài giảng này bắt đầu
Đây là cuộc đối thoại đã diễn ra trên thực tế
Không lâu sau khi kết thúc bài giảng NATS, chúng tôi đã liên lạc lại với nhau. Khóa học này đã được bắt đầu từ chính cuộc trò chuyện đó.
Sau khi kết thúc bài giảng về NATS, tôi đã nhận được liên lạc lại vào kỳ nghỉ.
NNhà phát triển NaverTôi muốn tìm hiểu thêm một chủ đề nữa, không biết anh Hong có đang bận không ạ?
HHongSao anh lại tìm em vào kỳ nghỉ thế này… Có điều gì làm anh nảy ra ý tưởng hay ho vậy?
NNhà phát triển NaverSau khi tìm hiểu về NATS, tôi muốn tìm hiểu thêm về truyền thông thời gian thực. Bạn thấy thế nào nếu chúng ta thử tìm hiểu về Apache Flink?
HHongTôi hoàn toàn ủng hộ việc thử sức với bất cứ điều gì mới mẻ, nhưng tôi chưa từng sử dụng cái đó.
NNhà phát triển NaverKhông sao đâu. Tôi sẽ chuẩn bị hết tài liệu và mọi thứ. Apache Flink thực sự rất tốt nhưng mọi người lại không biết đến nhiều. Về mặt sự nghiệp thì việc thu thập dữ liệu thời gian thực thực sự rất quan trọng, tôi không hiểu sao mọi người lại không sử dụng nó.
NNhà phát triển NaverKhông biết mọi người có tò mò về những thứ như đề xuất thời gian thực hay tính toán cước phí thời gian thực không nhỉ…
HHongTôi luôn sẵn sàng. Hãy cùng nhau chuẩn bị nhé. Tôi sẽ dành cả số năm kinh nghiệm của mình để tạo ra nó.
Học được những gì
Theo thứ tự Khái niệm · Cấu trúc · Trạng thái · Triển khai
Tại sao lại là StreamChúng ta sẽ bắt đầu từ những hạn chế của hệ thống truyền thống. Sự khác biệt về mô hình giữa Batch và Stream thông qua mã ví dụ.
Cấu trúc ClusterCách Flink phân chia hoạt động và các tầng thực thi được cấu tạo như thế nào
Task Slot và xử lý song songLàm thế nào để đảm bảo thông lượng. Từ trao đổi dữ liệu đến tối ưu hóa hiệu suất
Event Time và WatermarkCách xử lý các sự kiện đến muộn. Khái niệm khó nhất trong xử lý luồng (stream)
DataStream API và WindowAPI thực tế được sử dụng trong công việc. Đây là phần chiếm tỷ trọng lớn nhất.
Quản lý trạng tháiCách xử lý luồng mang theo trạng thái
Tự tay triển khaiTrong phần cuối cùng, chúng ta sẽ cùng nhau viết và chạy các ví dụ.
Nằm ở đâu
Flink nằm trên con đường mà dữ liệu đi qua
Flink không phải là một kho lưu trữ. Nó nằm ở vị trí nhận dữ liệu từ đâu đó (Source), xử lý và sau đó gửi dữ liệu ra một nơi khác (Sink). Đây là những hệ thống thường được kết nối ở phía trước và phía sau.
Apache Flink
Apache Kafka
Apache Pulsar
RabbitMQ
Amazon Kinesis Data Streams
Elasticsearch
Amazon S3
Apache Cassandra
Amazon DynamoDB
Apache Hadoop
Apache NiFi
Nội dung được đề cập trong bài giảng này không phải là cách sử dụng từng connector riêng lẻ, mà là chính khái niệm về Source và Sink. Bài giảng đầu tiên của phần 4 chính là nội dung đó, và một khi bạn đã nắm vững khái niệm, dù thứ gì được kết nối vào phía nào đi chăng nữa, chúng đều sẽ được hiểu theo cùng một cách.
Không chỉ dừng lại ở việc nghe hiểu khái niệm thôi đâu
Phần cuối cùng hoàn toàn là về việc viết và thực thi các ví dụ.
Phần đầu sẽ nắm bắt khái niệm và cấu trúc, phần sau sẽ thông qua API và quản lý trạng thái để đi đến việc trực tiếp triển khai.
01
Giới thiệu khóa học và tài liệu
Giới thiệu khóa học
Mã nguồn và Skeleton
Trang web Apache Flink
02
Giới thiệu và Kiến trúc Apache Flink
Tổng quan và định nghĩa về Apache Flink cùng những hạn chế của các hệ thống truyền thống
Vai trò của Apache Flink như một công cụ xử lý dòng phân tán
[예시 코드] Paradigm Xử lý Stream vs Xử lý Batch
[예시 코드] Apache Flink의 실시간 통신을 위한 핵심 요인들
03
Từ những kiến thức cơ bản đến các khái niệm cốt lõi dành cho xử lý luồng (stream processing)
Cấu trúc các thành phần Cluster và các lớp thực thi của Apache Flink
Chiến lược đảm bảo thông lượng thông qua Task Slot và xử lý song song trong Apache Flink
Trao đổi dữ liệu và tối ưu hóa hiệu suất thông qua Task Slot
[예시 코드] Flink에서의 Time Semantics과 Watermark 기법
04
API luồng dữ liệu (Data Stream API) và Window để áp dụng vào thực tế
[Mã ví dụ] Các toán tử Stream cơ bản và được sử dụng thường xuyên nhất [ Sink và Source ]
[예시 코드] 가장 자주 사용하고 기본이 되는 Stream 연산자 [ Transformations, Aggregation, Combination ]
[예시 코드] Các toán tử nâng cao để chuẩn bị cho mọi tình huống [ Process, KeyedProcess, CoProcess, ProcessWindow ]
[예시 코드] Các toán tử nâng cao để chuẩn bị cho mọi tình huống [ Side Output, CEP ]
[예시 코드] Window Type lưu trữ trạng thái được sử dụng nhiều nhất trong thực tế [ Tumbling, Sliding ]
[Mã ví dụ] Loại Window để lưu trữ trạng thái được sử dụng nhiều nhất trong thực tế [ Session, Global ]
[예시 코드] Window Function [ Process With Aggregate ]
05
Quản lý trạng thái (State Management)
[예시 코드] Bất kỳ ai cũng có thể hiểu các đối tượng trạng thái (state objects) phức tạp của Flink
Đánh đổi về hiệu suất lưu trữ và truy cập thông qua State Backend
Queryable State hỗ trợ truy vấn trạng thái bên ngoài
06
Ví dụ vừa cùng viết vừa cùng vận hành
Deep Dive xây dựng môi trường nhẹ nhàng tận dụng Docker Compose
[Thực hành] WordCount Example Guide
[Thực hành] Windowing Example Guide
[Thực hành] State Management Example Guide
[실습] Checkpoint Example Guide
[Thực hành] Event Time vs Processing Time Example Guide
Dành cho những người như thế này
Khóa học này dành cho ai?
Nhà phát triển Backend đang cảm thấy những hạn chế của Batch và CronJob
Những nhà phát triển đã sử dụng đến Kafka nhưng không biết bước tiếp theo là gì
Những ai muốn hiểu cấu trúc của hệ thống gợi ý, tính phí và thống kê theo thời gian thực
Người mới bắt đầu làm quen với Stream đang gặp khó khăn với khái niệm Event Time và State
Các nhà phát triển cấp trung và cao cấp muốn tạo sự khác biệt cho sự nghiệp của mình bằng xử lý dữ liệu thời gian thực
Thị trường hiện nay
Câu chuyện về việc AI sẽ thay thế lập trình viên
Tuyển dụng mới đang giảm dần, và các doanh nghiệp chỉ muốn chọn những người đã được kiểm chứng. Đây là những bài báo xuất hiện trong vài tháng gần đây.
Krafton, công ty đạt được kết quả kinh doanh cao kỷ lục, đã bắt đầu cắt giảm nhân sự. Lý do được đưa ra là để chuyển đổi thành một doanh nghiệp 'AI First'.
Các doanh nghiệp chuyên về phần mềm đang ngừng tuyển dụng lập trình viên mới. Cũng có dự báo cho rằng việc tuyển dụng lập trình viên trình độ sơ cấp sẽ giảm mạnh tới 77%.
53% nhà thiết kế trò chơi đã trả lời rằng "AI sẽ thay thế công việc của tôi". Các trường hợp thôi việc theo khuyến nghị cũng đã được báo cáo.
Khi doanh nghiệp càng bất an, phía người được tuyển dụng càng phải thể hiện sự khác biệt rõ rệt hơn. Việc học cuối cùng vẫn là do bản thân tự thực hiện, nhưng tùy vào việc bạn nhìn nhận cái gì và dưới góc độ nào mà độ sâu trong cách giải thích sẽ khác nhau dù cùng bỏ ra một lượng thời gian như nhau. Bài giảng này được tạo ra để truyền tải góc nhìn đó.
Đánh giá khóa học
Chia sẻ từ những người đã học trước đó
Tôi đã sao chép y nguyên từ đánh giá khóa học trên Inflearn.
"Tôi nghĩ đây là một trong những bài giảng đáng chú ý nhất mà tôi từng xem trên Inflearn. Phần lý thuyết hoàn toàn không thiếu sót, và tôi nghĩ mình có thể học được rất nhiều điều từ mã ví dụ cho đến các bài thực hành tương ứng. Tôi đặc biệt ấn tượng với việc triển khai khái niệm Source mà không cần dùng đến kho lưu trữ bên ngoài hay Message Queue."
Amy · Viết sau khi hoàn thành 89% khóa học
"Nhờ xem bài giảng của anh mà gần đây tôi đã chuyển việc sang Naver Cloud thành công. Tôi thực sự rất cảm ơn anh. Dù không quá nổi tiếng nhưng qua từng bài giảng, tôi đều thấy được nỗ lực của anh trong việc truyền tải rất nhiều khái niệm trong thời gian ngắn và cố gắng sử dụng thời gian một cách hiệu quả nhất, thực sự là một khóa học rất tuyệt vời."
warna · Viết sau khi hoàn thành 85% khóa học
Giảng viên
Được tạo ra bởi hai nhà phát triển đang làm việc thực tế
Được tạo ra bởi Ande, nhà phát triển backend với 10 năm kinh nghiệm tại trụ sở chính của Naver, và Hong, nhà phát triển máy chủ nền tảng tại Pangyo.
NAVER · KỸ SƯ BACKEND · 10 NĂM KINH NGHIỆM
Ande
Tôi là nhà phát triển Backend với 10 năm kinh nghiệm đang phát triển máy chủ tại trụ sở chính của Naver. Hầu hết các cấu trúc và tiêu chí đánh giá được đề cập trong bài giảng đều là những điều tôi đã trực tiếp trải nghiệm và đúc kết từ thực tế. Đừng ngần ngại đặt câu hỏi nhé.
"Có những thời điểm việc duy trì bằng xử lý theo lô (batch) sẽ chạm đến giới hạn. Đó chính là lúc cần phải thay đổi cấu trúc."
Hiện là nhà phát triển máy chủ tại Naver (trụ sở chính) · Cựu nhà phát triển backend tại tập đoàn Shinsegae · Cựu nhà phát triển máy chủ tại startup chăm sóc sức khỏe · Chuyên ngành Khoa học máy tính
Xử lý dữ liệu thời gian thựcLưu lượng truy cập lớnKiến trúc BackendStream Pipeline
Người chia sẻ kiến thức · Phát triển máy chủ nền tảng tại Pangyo
Hong
Tôi đang đảm nhận việc phát triển máy chủ nền tảng tại Pangyo. Tôi tiếp tục hoạt động với tư cách là người chia sẻ kiến thức để chia sẻ các phương pháp tự học cũng như những vấn đề và giải pháp gặp phải trong thực tế. Các bài giảng không được thực hiện một mình mà được xây dựng cùng với nhiều nhà phát triển khác đang làm việc trong ngành.
"Từ 'thời gian thực' nghe thì rất hay, nhưng khi bắt tay vào lập trình thì ngay cả khái niệm thời gian cũng đã thấy khó rồi. Chúng ta sẽ bắt đầu từ chính điểm đó."
Phát triển máy chủ nền tảngĐường ống dữ liệu (Data Pipeline)Nhiều bài giảng Backend
Câu hỏi thường gặp
Câu hỏi thường gặp về khóa học Apache Flink
Q.Tôi mới tiếp cận xử lý luồng (stream processing) lần đầu thì có học được không?
⌄
Mức độ khó được thiết lập ở cấp độ nhập môn. Trong phần 2, tôi sẽ bắt đầu từ những hạn chế của hệ thống truyền thống, cho bạn thấy sự khác biệt giữa Batch và Stream thông qua mã ví dụ, sau đó mới đi sâu vào cấu trúc của Flink. Tôi đã xây dựng nội dung này dựa trên giả định rằng bạn chưa từng nghe qua khái niệm Stream trước đây.
Q.Có cần phải biết về Kafka không?
⌄
Không bắt buộc. Tuy nhiên, nếu bạn đã có kinh nghiệm truyền sự kiện (event) qua Kafka, bạn sẽ nắm bắt được bước "tiếp theo" nhanh hơn nhiều. Đó là lý do tại sao đối tượng đề xuất bao gồm cả "những nhà phát triển chưa biết giai đoạn sau Kafka".
Q.Tại sao Event Time và Watermark lại khó?
⌄
Đó là bởi vì thời điểm sự kiện xảy ra và thời điểm nó đến hệ thống là khác nhau. Khi mạng bị chậm, sự việc xảy ra trước có thể sẽ đến sau. Watermark chính là cơ chế để xử lý sự sai lệch đó, nếu không hiểu điều này, bạn sẽ không thể giải thích được tại sao kết quả thống kê lại kỳ lạ. Nội dung này sẽ được xử lý cùng với mã ví dụ trong phần 3.
Q.Tôi có được trực tiếp viết mã không?
⌄
Phần cuối cùng hoàn toàn dành cho nội dung đó. Chúng ta sẽ tạo một môi trường nhẹ với Docker Compose và lần lượt viết cũng như thực thi các ví dụ từ WordCount, Windowing, State Management, Checkpoint cho đến so sánh giữa Event Time và Processing Time. Mã nguồn và khung chương trình (skeleton code) đã được bao gồm trong tài liệu ở Phần 1, bạn chỉ cần tải về và bắt đầu từ đó.
Q.Công nghệ này được sử dụng ở đâu?
⌄
Đó là những nơi cần phản ánh dữ liệu ngay khi nó được đưa vào, chẳng hạn như đề xuất thời gian thực, tính phí hoặc tổng hợp dữ liệu. Đó là loại công việc mà nếu bạn gom lại và xử lý vào một thời điểm cố định, sự chậm trễ trong khoảng thời gian đó sẽ hiển thị trực tiếp với người dùng.
Những thứ không thể bắt kịp bằng xử lý theo đợt (batch) by batch processing
Chúng ta sẽ cùng xem xét kỹ lưỡng cấu trúc xử lý dữ liệu theo tốc độ mà nó được gửi đến.
Nếu bị kẹt một mình sẽ mất rất nhiều thời gian. Có một không gian riêng để bạn có thể thoải mái chia sẻ từ những phần vướng mắc khi nghe bài giảng, những câu hỏi phát sinh khi áp dụng vào dịch vụ của chính mình, cho đến những câu chuyện về sự nghiệp và thực tế công việc.
OPEN CHAT · Cộng đồng nhà phát triển
Chúng ta chia sẻ những gì?
Chúng tôi chia sẻ về những vấn đề thực tế gặp phải trong công việc, các cấu trúc mà người khác đã lựa chọn, cũng như những câu chuyện về sự nghiệp lập trình viên. Các câu hỏi liên quan đến bài giảng cũng luôn được chào đón.
"Những chỗ bạn bị vướng mắc thì đa phần người khác cũng đều gặp phải. Hỏi người đã đi trước là cách nhanh nhất."
Câu hỏi về bài giảngTrường hợp áp dụng thực tếCâu chuyện nghề nghiệp
Tôi bắt đầu học lập trình sau một thời gian dài lười biếng ở nhà và cảm thấy hứng thú với nó, hiện tại tôi đang đảm nhận việc phát triển máy chủ nền tảng (platform server) tại Pangyo. Tôi tiếp tục hoạt động với tư cách là người chia sẻ kiến thức vì muốn cung cấp cho các bạn phương pháp tôi đã học cũng như những vấn đề và giải pháp khác nhau mà các bạn có thể gặp phải trong thực tế.
Bài giảng không chỉ được tạo ra từ kiến thức của riêng tôi. Mọi bài giảng đều có sự đồng hành của những người cộng sự.
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.
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!
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 ㅎㅎㅎ
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!!
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.
Chào bạn Boosta!! Mặc dù đây là một nền tảng khó.. nhưng mình đã cố gắng diễn giải và hướng dẫn một cách dễ hiểu nhất có thể. Cảm ơn bạn vì những đánh giá tiếp thêm động lực cho mình nhé!!
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.
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!!
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.
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!!