강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Học thiết kế hệ thống quy mô lớn thông qua việc tự tay xây dựng với Spring Boot - Bảng tin

대규 mô dữ liệu và lưu lượng truy cập để hỗ trợ hệ thống, hãy tự mình tạo ra bằng Spring Boot và học hỏi.

(4.9) 167 đánh giá

1,460 học viên

  • kuke
이론 실습 모두
시스템설계
Spring Boot
MySQL
Redis
Kafka
Java

Đá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ế hệ thống lớn

  • Kiến trúc Microservice

  • Kiến trúc dựa trên sự kiện

  • Phân tán hệ thống hiểu biết

  • Cách giải quyết các vấn đề tương tranh

  • Hiểu và chiến lược sử dụng thực tế MySQL, Redis, Kafka

  • Tối ưu hóa truy vấn dữ liệu lớn bằng cách sử dụng chỉ mục cơ sở dữ liệu

  • Thiết kế và tối ưu hóa các bảng phân cấp phức tạp

  • 높 độ lưu trữ dữ liệu vẫn đảm bảo tính nhất quán

  • 이벤트 스트림 xử lý và xây dựng ứng dụng không đồng bộ

  • Sự cố mất dữ liệu sự kiện được ngăn chặn bằng hệ thống

  • 대규 mô lưu lượng truy cập và kiến trúc phức tạp có thể áp dụng phương pháp luận

  • Chiến lược tối ưu hóa hiệu suất áp dụng cho các yêu cầu khác nhau

  • Chiến lược tối ưu hóa bộ nhớ đệm

Kinh nghiệm phát triển thực tế hệ thống quy mô lớn của các nhà phát triển tại công ty IT!

Khóa học này giải thích kiến thức kỹ thuậtphương pháp luận để xây dựng hệ thống quy mô lớn, và thực hành tạo ra bằng cách trực tiếp viết code với Spring Boot.

Tại các công ty IT, tôi truyền đạt kinh nghiệm hỗ trợ hệ thống quy mô lớnbí quyết phát triển thực tế.

Quá trình lựa chọn và cân nhắc công nghệ được mô tả chi tiết, và chúng ta sẽ xem xét quá trình tạo ra thiết kế cùng với hàng trăm tài liệu hình ảnh.

Chúng tôi khuyến nghị khóa học này cho những người sau đây.

  • Người tò mò về cách xử lý dữ liệu và lưu lượng truy cập quy mô lớn


  • Người tò mò về tối ưu hóa hiệu suất

  • Người có kinh nghiệm nhưng chưa có kinh nghiệm về traffic

  • Người tò mò về cách thực sự tạo ra thứ gì đó hơn là chỉ giải thích lý thuyết đơn thuần

  • Người đã phát triển bảng thông báo bằng Spring Boot ít nhất 1 lần

  • Người biết kiến thức cơ bản về cơ sở dữ liệu và cách viết SQL đơn giản


Kiến thức tiên quyết

  • Spring Boot

Spring Boot không đề cập đến nguyên lý hoạt động hay cách sử dụng.

  • Java

Mặc dù sử dụng Java 21, nhưng không sử dụng các cú pháp mới phức tạp, nên không nhất thiết phải biết về phiên bản 21. Nếu đã học cú pháp Java 8 trở lên thì đã đủ.

  • Cơ sở dữ liệu quan hệ và cú pháp SQL cơ bản

Kiến thức cơ bản về cơ sở dữ liệu quan hệ và cú pháp SQL cơ bản sẽ không được giải thích. Chỉ cần biết cách viết cú pháp CREATE, SELECT, UPDATE, DELETE là đủ.

Redis và Kafka sẽ được giải thích trong khóa học nên không cần kiến thức tiên quyết.

  • Kiến thức Computer Science

Có kiến thức cơ bản về CS có thể giúp việc hiểu dễ dàng hơn, nhưng tuyệt đối không phải là điều kiện bắt buộc.

Ngăn xếp công nghệ và công cụ

  • Spring Boot 3.3.2

  • Java 21

  • JPA

  • Gradle

  • MySQL 8.0.38

  • Redis 7.4

  • Kafka 3.8.0

  • IntelliJ IDEA


Đây không phải là khóa học phụ thuộc vào phiên bản cụ thể nào, nhưng để thực hành thuận lợi, chúng tôi khuyến nghị sử dụng cùng một môi trường.

Ngay cả khi sử dụng ngôn ngữ hoặc framework khác, các khái niệm và phương pháp thiết kế vẫn giống nhau. Nếu bạn có thể trực tiếp xem xét và phát triển những phần này, thì bạn có thể học được ngay cả khi không sử dụng Spring Boot.

Mặc dù không giải thích về JPA nhưng vì được đề cập ở mức độ cơ bản, nên không cần kiến thức riêng biệt cũng không sao.

Bạn sẽ học được những nội dung sau đây.

  • Thiết kế hệ thống quy mô lớn

  • Kiến trúc Microservice

  • Event-Driven Architecture

  • Hiểu về hệ thống phân tán

  • Cách xử lý vấn đề đồng thời


  • MySQL, Redis, Kafka - Hiểu biết và chiến lược ứng dụng thực tế

  • Tối ưu hóa truy vấn dữ liệu quy mô lớn bằng cách sử dụng chỉ mục cơ sở dữ liệu

  • Thiết kế và tối ưu hóa bảng phân cấp phức tạp

  • Các phương pháp đảm bảo tính nhất quán dữ liệu ngay cả trong lưu lượng ghi cao


  • Xử lý luồng sự kiện và xây dựng ứng dụng bất đồng bộ

  • Xây dựng hệ thống để ngăn chặn mất mát sự kiện


  • Phương pháp luận có thể áp dụng trong lưu lượng truy cập quy mô lớn và kiến trúc phức tạp

  • Các chiến lược tối ưu hóa cache có thể áp dụng cho nhiều yêu cầu khác nhau


Từ khóa học tập

#Cơ_sở_dữ_liệu_quan_hệ #MySQL #Shard #Replication #Index #Clustered_Index #Secondary_Index #Covering_Index #Query_Plan #Query_Optimization #Primary_Key #Transaction #(De)Normalization #dbms_schema_design #Adjacency_list #Path_enumeration #database_collation #Lock #Optimistic_Lock #Pessimistic_Lock #Record_Lock #Concurrency_Problem #In-memory_database #NoSQL #Redis #Data_Structure #Distributed_Lock #Event_Streaming #Stream_Processing #Async #Kafka #Distributed_Transaction #Transctional_Messaging #Two_Phase_Commit #Transactional_Outbox #CDC #Transaction_Log_Tailing #CQRS #Cache #Request_Collapsing #Distributed_System #Microservice_Architecture #Event_Driven_Architecture

Tôi đã tổng hợp các từ khóa có thể học được trong khóa học.

Việc chưa biết những điều này là hoàn toàn bình thường, nhưng thông qua khóa học, bạn sẽ học tập và thực hiện các khái niệm trên.

Đây là những khái niệm thường xuyên được xử lý trong thực tế, và tôi sẽ giải thích chi tiết về tính cần thiết của từng khái niệm cũng như quá trình thiết kế chúng.

Hệ thống đơn giản đến hệ thống phức tạp, chi tiết hình ảnh tài liệu về quá trình thay đổi từng bước!

Thực tế trong công việc đến cả quá trình suy nghĩ!

Trải nghiệm phát triển thực tế thông qua live coding và nâng cao khả năng triển khai!

Java, Spring Boot, MySQL, Redis, Kafka

Làm thế nào để sử dụng và phát triển những công cụ như vậy?

Không chỉ dừng lại ở việc viết code đơn giản,

Áp dụng nhiều kiến trúc, phương pháp luận, design pattern khác nhau và thiết kế cấu trúc dễ đọc và bảo trì

Cơ hội phát triển lên tầm cao mới thông qua phát triển thực tế!

Q&A trước khi học

Q. Tôi hoàn toàn mới bắt đầu học backend và Spring Boot, liệu có thể tham gia khóa học này không?

A. Đây không phải là khóa học nhập môn nên sẽ không giải thích các khái niệm backend, nguyên lý và cách sử dụng Spring. Do đó, kiến thức cơ bản về Spring là yêu cầu bắt buộc, và chỉ cần có thái độ sẵn sàng học hỏi trong quá trình học là đủ dù chưa biết rõ lắm. Tôi khuyến khích khóa học này cho những ai đã từng tạo ra ít nhất một lần một sản phẩm nào đó, dù chỉ là một bảng tin đơn giản.


Q. Tôi không biết MySQL, Redis, Kafka, Docker thì có thể học được không?

A. Bạn cần biết MySQL và cú pháp SQL cơ bản. Những nội dung nâng cao hơn và các công cụ khác sẽ được giải thích chi tiết trong khóa học và thực hành trực tiếp, nên không biết cũng không sao.


Q. Nếu chỉ hoàn thành khóa học, liệu có thể hiểu được tất cả nội dung không?

A. Để học tập và tiếp thu hoàn toàn nội dung bài giảng có thể mất nhiều lần thời gian hơn. Chỉ đơn giản nghe bằng mắt và gõ theo code một lần không thể hiểu được toàn bộ nội dung. Đây là chủ đề khó đến vậy. Tôi khuyến khích các bạn liên tục ôn tập và nắm bắt cấu trúc tổng thể trong quá trình học. Ngoài ra, những phần không liên quan đến hướng của bài giảng hoặc được đánh giá là cần học tập trực tiếp sẽ không được giải thích trong bài giảng, vì vậy có thể không cảm thấy Kind lắm. Những phần này cần học tập cá nhân.


Q. Tôi có kinh nghiệm về backend nhưng chỉ sử dụng các framework khác chứ không phải Spring Boot. Liệu tôi có thể theo dõi khóa học này không?

A. Các khái niệm đều giống nhau nên bạn có thể nghe mà không có vấn đề gì. Tuy nhiên, vì chỉ cung cấp code được viết bằng ngôn ngữ Java trong Spring Boot, nên có thể cần khả năng triển khai để chuyển đổi trực tiếp sang ngôn ngữ khác.


Q. Tôi không hiểu gì về những từ khóa được đề cập trong phần giới thiệu khóa học.

A. Nếu chỉ cần đáp ứng các điều kiện tiên quyết đã đề cập, thì sẽ không có vấn đề gì nếu bạn có thể theo kịp được, vì khóa học sẽ giúp bạn học lý thuyết thông qua bài giảng và thực hiện trực tiếp bằng code.


Q. Có đề cập đến triển khai server hoặc phát triển client không?

A. Chỉ tiến hành phát triển và kiểm thử trên môi trường local, không tiến hành triển khai server hoặc phát triển giao diện client.


Q. Trong quá trình giảng dạy có phát sinh chi phí bổ sung nào như cloud không?

A. Vì việc phát triển và kiểm thử chỉ diễn ra trên môi trường local, nên không cần chi phí bổ sung.

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

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

  • 대규 mô dữ liệu và lưu lượng truy cập được xử lý như thế nào?

  • 성능 tối ưu hóa là gì?

  • Người có kinh nghiệm nhưng chưa có kinh nghiệm giao thông

  • Những người tò mò về cách thực sự tạo ra thứ gì đó thay vì chỉ giải thích lý thuyết.

  • Người đã phát triển bảng thông báo bằng Spring Boot ít nhất một lần

  • Người biết kiến ​​thức cơ bản về cơ sở dữ liệu và cách viết SQL đơn giản

Cần biết trước khi bắt đầu?

  • Java

  • Khởi động mùa xuân

  • Cơ sở dữ liệu quan hệ cơ bản

  • Cơ sở ngữ pháp SQL

Xin chào
Đây là

1,785

Học viên

189

Đánh giá

237

Trả lời

4.9

Xếp hạng

3

Các khóa học

안녕하세요.

IT 기업 개발자로 근무하며, 대규모 시스템을 지탱하기 위해 다양한 기술을 활용해보고 있습니다.

실무 관점의 개발 지식을 공유하고자 개설하였고, 많은 도움이 되었으면 좋겠습니다.

 

[문의]

Email : kukekyakya@gmail.com

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

Tất cả

71 bài giảng ∙ (13giờ 21phú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ả

167 đánh giá

4.9

167 đánh giá

  • syh8088님의 프로필 이미지
    syh8088

    Đánh giá 7

    Đánh giá trung bình 5.0

    5

    70% đã tham gia

    Bạn không nên đánh giá nội dung khóa học chỉ bằng cách nhìn vào danh sách khóa học. Trên thực tế, sau khi nghe bài giảng, đó chính xác là bài giảng mà tôi mong muốn, bắt đầu với thuật toán chỉ mục, cách sử dụng các chỉ mục được tối ưu hóa và cách đưa ra thông báo sự kiện một cách an toàn trong môi trường bán hết ứng dụng và môi trường cấu trúc phân mảnh DB. Đó là một bài giảng thực sự hay với nhiều mẹo dựa trên lưu lượng truy cập lớn ngoài việc đơn giản là xây dựng một dịch vụ. Nhờ bạn mà tôi đã học được rất nhiều kiến ​​thức. Xin hãy cho tôi những bài giảng hay như thế này trong tương lai :)

    • kuke
      Giảng viên

      Lina, cảm ơn bạn rất nhiều vì đánh giá tuyệt vời! Tôi đã suy nghĩ rất nhiều về cách có thể truyền đạt điều này tốt nhất đến các học sinh và đã chuẩn bị chăm chỉ trong một thời gian dài. Tôi biết ơn và tự hào vì bạn đã theo dõi bài giảng khó này!! Chúc mừng năm mới và may mắn với những bài giảng còn lại! (Nửa sau cũng sẽ khá vui(?)!)

  • wisehero님의 프로필 이미지
    wisehero

    Đánh giá 56

    Đánh giá trung bình 4.7

    5

    72% đã tham gia

    Đây là một khóa học tuyệt vời. Đây là một khóa học đạt tiêu chuẩn về những gì mà một khóa học trung cấp, cao cấp của Inflearn nên có. Tôi là một nhà phát triển junior vừa tròn 1 năm kinh nghiệm. Trong công ty, tôi chỉ mới phát triển hoặc bảo trì hệ thống quản trị. Như mọi người đều biết, hệ thống quản trị không có nhiều lưu lượng truy cập và chỉ được sử dụng một số tính năng nhất định. Vì kế hoạch không được chuyển đến người dùng nên ngay cả nhân viên nội bộ cũng có xu hướng lên kế hoạch và phát triển một cách "cẩu thả". Trong tình huống này, việc tìm kiếm những thử thách đáng để thử sức là không hề dễ dàng. Trong lúc đó, tôi đã gặp được khóa học này và ít nhất đã có được những "nguyên liệu" để "suy nghĩ" về việc thiết kế như thế nào, viết mã như thế nào cho dự án sắp tới. Trong các khóa học gần đây tôi tham gia, hầu hết những người chia sẻ kiến thức đều giao mục Q&A cho thực tập sinh của Inflearn và thực tế là bỏ mặc nó, nhưng Kukhe nim vẫn nhiệt tình trả lời Q&A ngay cả vào cuối tuần. Như tôi đã viết trong lời mở đầu của đánh giá khóa học, đây là khóa học tốt nhất trong số các khóa học trung cấp, cao cấp. Tôi nghĩ đây là một khóa học đưa ra tiêu chuẩn, hướng dẫn về "khóa học trung cấp, cao cấp nên như thế nào". Tôi nghĩ đây có thể là một tài liệu tham khảo tốt cho những người chia sẻ kiến thức trên Inflearn hoặc những người vận hành dịch vụ Inflearn. Những người vẫn còn chút nhiệt huyết muốn trau dồi kỹ năng để thực hiện các công việc mang tính thách thức hơn trong một môi trường nhiều hạn chế và gò bó, đừng ngần ngại đăng ký khóa học này. Điều đáng tiếc là mặc dù giảng viên cung cấp code, nhưng không có kho lưu trữ Github có lịch sử commit hoặc code được chia theo từng phần, nên rất khó để theo dõi luồng. Nếu phần này được cải thiện thì sẽ tốt hơn. Cảm ơn vì khóa học tuyệt vời. Lâu lắm rồi tôi mới gặp được một khóa học thực sự ra dáng khóa học.

    • kuke
      Giảng viên

      wisehero님, cảm ơn bạn rất nhiều vì đánh giá tốt ạ! Tôi vô cùng cảm kích vì bạn đã dành thời gian viết một bài đánh giá chi tiết đến vậy ạ 😊😊😊 Trong quá trình tạo bài giảng, tôi đã từng nghĩ "Liệu mình có đang làm khó quá không nhỉ?", và tôi tự nhủ rằng, dù học viên có thể không tiếp thu hết nội dung, nhưng chỉ cần tôi có thể cho họ biết họ đang không biết gì thì đó cũng là một thành quả rồi. May mắn là có vẻ như nhiều học viên hài lòng về độ khó của bài giảng, và tôi cũng rất vui khi thấy wisehero님 đang định hướng tốt cho tương lai của mình!! Tôi rất mừng vì bạn hài lòng về phần Q&A! Tôi nghĩ rằng, nếu là một học viên nhiệt huyết thì việc có những thắc mắc trong quá trình học là điều đương nhiên. Tôi cũng cố gắng hết sức để trả lời những câu hỏi đó để đáp lại sự nhiệt tình của các bạn 😊😊😊 Tôi cũng học được rất nhiều điều khi xem các câu hỏi khác nhau, suy nghĩ về những điểm còn thiếu sót hoặc những phần cần bổ sung trong nội dung bài giảng. Đặc biệt, tôi vẫn nhớ hình ảnh wisehero님 giúp đỡ giải quyết vấn đề trong các câu hỏi của người khác, thật tuyệt vời!! Tôi hoàn toàn đồng cảm với những điều bạn thấy tiếc về việc phân tách code..! Nếu có thể viết một đoạn code hoàn hảo, không có lỗi ngay từ đầu thì có thể dễ dàng tách ra, nhưng điều đó không hề dễ dàng như bạn nghĩ..! Vì phạm vi bài giảng rộng và nội dung khó nên đôi khi tôi chỉ nhận ra những phần cần sửa đổi code sau đó. Trong trường hợp này, nếu các section được chia nhỏ thì việc sửa đổi cả những nội dung trước đó trở nên quá khó khăn, nên đôi khi tôi đã không tách ra vì thấy phiền phức..! Tôi rất xin lỗi vì điều này 😭😭 Tôi sẽ suy nghĩ thêm về cách cải thiện vấn đề này..! Nhờ có những học viên nhiệt huyết và tuyệt vời như các bạn theo học mà bài giảng cũng trở nên có giá trị hơn!! Cảm ơn các bạn đã học tập chăm chỉ!

  • heekng님의 프로필 이미지
    heekng

    Đánh giá 10

    Đánh giá trung bình 5.0

    5

    99% đã tham gia

    Ban đầu tôi đã rất lo lắng về giá cả, nhưng tôi đã hoàn thành khóa học một cách thích thú vì nội dung rộng lớn hơn tôi mong đợi và được giải thích rất tốt theo dòng ý thức. Tôi nghĩ rằng hầu hết các nhà phát triển backend sẽ học được nhiều điều từ khóa học này và nó sẽ giúp ích rất nhiều cho các cuộc phỏng vấn. Cảm ơn bạn!

    • kuke
      Giảng viên

      Ian ơi, cảm ơn bạn vì đánh giá tốt ạ!! Tôi rất vui và cảm kích khi bạn đã hoàn thành khóa học một cách vui vẻ!! Chúc bạn chuẩn bị tốt cho phỏng vấn nhé!!

  • chlghksdyd313144님의 프로필 이미지
    chlghksdyd313144

    Đánh giá 11

    Đánh giá trung bình 4.9

    5

    100% đã tham gia

    Tôi đã nghe rất kỹ. Tôi đã rất tò mò về thiết kế hệ thống và phương pháp cải thiện hiệu suất, và tôi đã học được rất nhiều điều từ bài giảng. Giá hơi cao nên tôi đã hơi đắn đo khi mua, nhưng tôi nghĩ rằng tôi đã học được nhiều điều hơn giá trị của nó. Mong bạn sẽ có những bài giảng hay trong tương lai. Cảm ơn bạn.

    • kuke
      Giảng viên

      chlghksdyd31님, cảm ơn bạn vì đánh giá tốt ạ!! Tôi rất tự hào và vui vì bạn đã học được nhiều điều!! Bạn đã vất vả rồi vì đã học hết khóa học!!

  • fruitworldplanet3134님의 프로필 이미지
    fruitworldplanet3134

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Tôi rất thích bài giảng tốt. Đó là một trải nghiệm đã mở rộng suy nghĩ của tôi về nhiều mặt. Đặc biệt, tôi chưa quen với Kafka nên kỹ thuật Transactional Messaging sử dụng Kafka là điều tôi chưa bao giờ nghĩ tới nên rất khó nhưng lại là một bài giảng thú vị!

    • kuke
      Giảng viên

      Xin cảm ơn bạn Hyun Jin đã đánh giá cao! Transactional Messaging thực sự là một phần khó khăn nhưng tôi rất vui vì bạn đã nghe và thấy thú vị. 😊😊😊 Bạn đã rất cố gắng và tôi hy vọng bạn sẽ có một năm mới vui vẻ!!

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

138.600 ₫

30%

4.143.877 ₫

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

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!