강의

멘토링

로드맵

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) 138 đánh giá

1,313 học viên

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

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

Dịch cái này sang tiếng Việt

  • 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

Bí quyết phát triển thực tế cho các hệ thống quy mô lớn từ các nhà phát triển tại các công ty dịch vụ CNTT lớn!

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

Chúng tôi cung cấp bí quyết phát triển thực tế có kinh nghiệm đồng thời hỗ trợ các hệ thống quy mô lớn tại các công ty dịch vụ CNTT lớn.

Quá trình lựa chọn và xem xét công nghệ được mô tả chi tiết, quá trình tạo ra thiết kế được kiểm tra bằng hàng trăm hình ảnh .

Đề xuất cho những người sau:

  • Bất cứ ai tò mò về cách xử lý lượng lớn dữ liệu và lưu lượng truy cập


  • Bất cứ ai 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 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


kiến thức người chơi

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

Nó không đề cập đến cách Spring Boot hoạt động hoặc cách sử dụng nó.

  • Java

Nó sử dụng Java 21, nhưng không sử dụng cú pháp phức tạp, mới nhất, vì vậy bạn không nhất thiết phải biết về phiên bản 21. Học ngữ pháp Java 8 trở lên là đủ.

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

Nó không giải thích kiến ​​thức cơ bản về cơ sở dữ liệu quan hệ hoặc ngữ pháp SQL cơ bản. Chỉ cần biết cách viết cú pháp TẠO, CHỌN, CẬP NHẬT và XÓA là đủ.

Redis và Kafka được giải thích trong bài giảng nên không cần có kiến ​​thức trước.

  • Kiến thức khoa học máy tính

Có thể sẽ dễ hiểu hơn nếu bạn có nền tảng kiến ​​thức CS nhưng hoàn toàn không bắt buộc.

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

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

  • Java 21

  • JPA

  • Lớp

  • MySQL 8.0.38

  • Làm lại 7.4

  • Kafka 3.8.0

  • Ý tưởng IntelliJ


Mặc dù khóa học này không dành riêng cho một phiên bản cụ thể nào nhưng bạn nên sử dụng cùng một môi trường để thực hành suôn sẻ.

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

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

Bạn sẽ học:

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

  • Kiến trúc vi dịch vụ

  • Kiến trúc hướng sự kiện

  • Tìm hiểu hệ thống phân tán

  • 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ế cho MySQL, Redis và Kafka

  • Tối ưu hóa các truy vấn dữ liệu quy mô lớn bằng cách sử dụng các 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

  • Cách đảm bảo tính nhất quán của dữ liệu ngay cả khi lưu lượng ghi cao


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

  • Xây dựng hệ thống ngăn ngừa mất mát sự kiện


  • Phương pháp có thể được sử dụng trong lưu lượng lớn và kiến ​​trúc phức tạp

  • Chiến lược tối ưu hóa bộ đệm áp dụng cho các yêu cầu khác nhau


từ khóa học tập

#Relational_Database #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

Chúng tôi đã tổng hợp những từ khóa bạn có thể học trong bài giảng.

Đương nhiên là bạn chưa biết nhưng bạn sẽ được học và thực hiện các khái niệm trên qua bài giảng.

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

Dữ liệu hình ảnh chi tiết về quá trình thay đổi dần dần , từ hệ thống đơn giản đến phức tạp!

Ngay cả quá trình xem xét thực tế !

Cải thiện kỹ năng triển khai của bạn bằng cách trải nghiệm quá trình phát triển trong thế giới thực thông qua mã hóa trực tiếp!

Java, Spring Boot, MySQL, Redis, Kafka

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

Nó không chỉ là công việc viết mã đơn giản,

Thiết kế kết cấu để dễ đọc và bảo trì bằng cách áp dụng các kiến ​​trúc, phương pháp và mẫu thiết kế khác nhau

Cơ hội phát triển hơn nữa thông qua phát triển thực tế!

Hỏi đáp trước khi tham gia khóa học

H. Tôi hoàn toàn mới làm quen với chương trình phụ trợ và Spring Boot. Tôi có thể tham gia khóa học này không?

A. Bởi vì đây không phải là bài giảng giới thiệu nên nó không giải thích các khái niệm phụ trợ, nguyên tắc lò xo và cách sử dụng nó. Vì vậy, kiến ​​thức cơ bản về lò xo là điều kiện tiên quyết, thậm chí dù bạn không biết nhiều thì chỉ cần có thái độ học hỏi là đủ. Ngay cả khi đó là một bảng thông báo rất đơn giản, tôi vẫn giới thiệu nó cho bất kỳ ai đã tạo ra thứ gì đó ít nhất một lần.


H. Tôi không biết MySQL, Redis, Kafka hoặc Docker. Tôi có thể tham gia khóa học không?

A. Bạn phải biết MySQL và ngữ pháp SQL cơ bản. Sẽ không sao nếu bạn không biết nội dung và các công cụ khác ngoài đó, vì chúng được giải thích chi tiết trong bài giảng và được sử dụng trực tiếp.


Hỏi: Nếu tôi chỉ xem qua các bài giảng thì liệu tôi có thể hiểu được mọi thứ không?

A. Có thể mất nhiều thời gian gấp nhiều lần để nghiên cứu kỹ và nắm vững hoàn toàn nội dung bài giảng. Bạn không thể hiểu mọi thứ chỉ bằng cách nghe và làm theo code một lần. Đó là một chủ đề khó khăn như vậy. Chúng tôi khuyên bạn nên liên tục xem lại và hiểu cấu trúc tổng thể khi bạn tiến bộ qua bài giảng. Ngoài ra, những phần không liên quan đến định hướng của bài giảng hoặc được đánh giá là cần học trực tiếp có thể không được cảm nhận một cách tử tế vì chúng không được giải thích trong bài giảng. Những lĩnh vực này yêu cầu nghiên cứu cá nhân.


H. Tôi có kinh nghiệm phụ trợ, nhưng tôi chỉ sử dụng các framework khác chứ không phải Spring Boot. Tôi có thể nghe bài giảng được không?

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


Q. Tôi không biết bất kỳ từ khóa nào được đề cập trong phần giới thiệu bài giảng.

A. Chỉ cần đáp ứng đủ điều kiện là bạn sẽ học lý thuyết qua bài giảng và trực tiếp thực hiện bằng code nên chỉ cần bạn làm theo tốt là được.


Câu hỏi: Nó có bao gồm cả việc triển khai máy chủ và phát triển máy khách không?

A. Việc phát triển và thử nghiệm chỉ được thực hiện cục bộ và không thực hiện việc triển khai máy chủ hoặc phát triển màn hình máy khách.


H. Có bất kỳ chi phí bổ sung nào không, chẳng hạn như chi phí điện toán đám mây, khi giảng dạy khóa học?

A. Việc phát triển và thử nghiệm chỉ được thực hiện tại địa phương nên không cần thêm chi phí.

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,425

Học viên

150

Đánh giá

217

Trả lời

4.9

Xếp hạng

2

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ả

138 đánh giá

4.9

138 đánh giá

  • 리나님의 프로필 이미지
    리나

    Đánh giá 7

    Đánh giá trung bình 5.0

    5

    70% đã tham gia

    단순히 강의 목록만 보고 강의 내용 판단하면 안되었네요. 실제로 강의를 들어보니 Index 알고리즘 부터 시작해서 최적화 된 인덱스 활용법, 그리고 애플리케이션이 Sale-out 환경과 DB 샤딩 구조 환경에서 안전하게 이벤트 메시지 발행하는 방법까지 정말 제가 원하는 강의였습니다. 단순히 서비스를 구축하는 것을 떠나서 대용량 트래픽에 기반하는 여러가지 TIP이 많아 정말 좋은 강의였습니다. 덕분에 많은 지식을 배우고 갑니다. 앞으로 이렇게 좋은 강의 부탁드립니다 :)

    • 쿠케
      Giảng viên

      리나님, 좋은 평가 주셔서 정말 감사합니다! 수강생 분들에게 어떻게 잘 전달할 수 있을지 고민도 많이 되었고 장시간 열심히 준비해왔는데, 어려운 강의 잘 따라와주셔서 감사하고 뿌듯합니다!! 새해 복 많이 받으시고 남은 강의도 화이팅입니다! (후반부도 꽤나 재미(?)있을 겁니다!)

  • wisehero님의 프로필 이미지
    wisehero

    Đánh giá 55

    Đánh giá trung bình 4.7

    5

    72% đã tham gia

    이 강의는 최고입니다. 이 강의는 인프런의 중, 상급 강의는 이래야 한다라는 기준과 같은 강의입니다. 이제 만 1년을 채운 주니어 개발자입니다. 사내에서는 아직 어드민만 새로 개발을 하거나 유지보수 해왔습니다. 모든 분들이 아시다시피 어드민은 트래픽이 많이 몰리지도 않고 자주 쓰이는 것도 정해져있습니다. 기획도 유저에게 전달되는 것이 아니니 내부 직원들도 속되게 말해 '개판'으로 기획하고 개발하는 경우가 대부분입니다. 이 상황속에서도 도전할 만한 과제들을 찾아보고 있지만 쉽지 않았습니다. 그러던 도중 이 강의를 만났고 앞으로 수행하게될 프로젝트에 대해 어떤 설계를, 어떤 코드를 짤지에 대해 적어도 '생각'은 해볼 수 있는 재료들을 얻었습니다. 최근 들었던 강의들에서는 거의 Q&A란을 인프런 인턴에게 맡겨두고 사실상 유기하는 지식공유자들이 많았는데 쿠케님은 주말에도 Q&A를 열심히 받아주십니다. 강의평 서문에 적었던 것처럼, 이 강의는 중,상급 강의 중 최고입니다. '중,상급 강의는 이래야한다' 라는 기준, 가이드를 제시한 강의라고 생각합니다. 이는 인프런에서 지식을 공유하는 분들이나, 인프런 서비스를 운영하시는 분들 에게도 좋은 레퍼런스가 될 수 있다고 생각합니다. 제약이 많고 꽉꽉 막힌 환경속에서 아직 더 도전적인 업무 수행을 위한 실력을 기르고 싶은 불씨가 아직 꺼지지 않은 분들은 망설이지 말고 수강하셨으면 좋겠습니다. 아쉬운 점은 코드를 제공하시기는 하나 커밋 기록이 찍혀있는 깃허브 레포지토리나 섹션별로 코드가 나뉘어져 있지 않아 흐름을 따라가기가 힘들었는데 이 부분이 개선이 되면 좋을 것 같습니다. 좋은 강의 감사드립니다. 오랜만에 진짜 강의같은 강의를 만났습니다.

    • 쿠케
      Giảng viên

      wisehero님, 좋은 평가 감사합니다! 수강평까지 정성스럽게 적어주셔서 너무 감사하네요 ㅎㅎㅎ 강의를 만들면서 “이렇게 어렵게 만들어도 되는건가?” 라는 생각도 있었고, 수강생 분들이 내용을 다 소화하진 못하더라도 무엇을 모르는지 알려드릴 수 있는 것만 해도 나름의 성과라고 생각했었습니다. 다행히 난이도에 대해서는 만족하시는 수강생 분들도 많은 것 같고, wisehero님 또한 앞으로의 방향성을 잘 잡아나가고 계신 것 같아서 뿌듯하네요!! Q&A는 만족해주신 것 같아서 다행입니다! 열정 있는 수강생 분들이라면 강의 들으면서 당연히 궁금한 점이 생길 수 있겠더라고요. 저도 그러한 열정에 보답하고자 최대한 열심히 답변 달려고 노력하고 있습니다 ㅎㅎㅎ 다양한 질문 보면서 강의 내용만으로는 부족했던 점이나 보충해드릴 부분 고민하면서 저 또한 많이 배우고 있고요. 특히 wisehero님은 다른 분 질문에서도 문제 해결 도와주시던 멋진 모습 기억하고 있습니다!! 코드 분리에 대해 아쉬운 점은 충분히 공감됩니다..! 처음부터 완벽하게 오류 없는 코드를 짜면 딱 분리해 둘 수 있겠지만, 그게 생각보다 쉽지 않더라고요..! 강의 범위가 방대하고 내용이 어렵다보니, 코드 수정할 부분이 이후에서야 눈에 들어올 때가 있습니다. 이럴 경우 섹션마다 잘게 나뉘어져 있으면 앞선 내용까지 수정하는게 너무 어렵다보니 귀찮은 마음에 따로 나누지 않은 부분도 있습니다..! 관련해서는 죄송스러운 마음이 있어서 양해를 구하게 되네요 ㅠㅠ 개선할 방법은 조금 더 고민해보겠습니다..! 열정 가득한 최고의 수강생 분들이 들어주시는 덕분에 강의도 가치가 생기는 것 같습니다!! 잘 수강해주셔서 감사합니다!

  • Ian님의 프로필 이미지
    Ian

    Đánh giá 10

    Đánh giá trung bình 5.0

    5

    99% đã tham gia

    처음엔 가격때문에 고민 많이 했는데, 기대한 것보다 더 방대한 내용을 의식 흐름대로 잘 설명해주셔서 즐겁게 완강했습니다. 대부분의 백엔드 개발자가 들으면 얻어가는게 많을 내용이라 생각하고, 면접에도 큰 도움 될 것 같습니다. 감사합니다!

    • 쿠케
      Giảng viên

      Ian님, 좋은 평가 감사합니다!! 즐겁게 완강해주시다니 너무 감사하고 기쁘네요!! 면접도 잘 준비하시길 바랍니다!!

  • chlghksdyd31님의 프로필 이미지
    chlghksdyd31

    Đánh giá 11

    Đánh giá trung bình 4.9

    5

    100% đã tham gia

    잘 들었습니다. 시스템 설계와 성능 개선 방법에 대해서 궁금했었는데, 강의를 듣고 많이 배워 갑니다. 가격이 높은 편이라서 좀 고민하고 구매했는데 가격 이상의 내용을 배웠다고 생각합니다. 앞으로도 좋은 강의 부탁드립니다. 감사합니다.

    • 쿠케
      Giảng viên

      chlghksdyd31님, 좋은 평가 감사합니다!! 잘 배워가셨다니 너무 뿌듯하고 기쁘네요!! 완강 하시느라 고생 많으셨습니다!!

  • 김현진님의 프로필 이미지
    김현진

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    좋은 강의 잘 들었습니다 여러모로 생각이 확장되는 경험이었네요. 특히 kafka가 익숙하지않아 kafka를 활용하는 Transactional Messaging 기법은 생각지도 못한 부분이어서 되게 어려웠지만 재미있는 강의였습니다 !

    • 쿠케
      Giảng viên

      현진님, 좋은 평가 감사합니다! Transactional Messaging 정말 어려운 부분인데 재밌게 들으셨다니 다행입니다. ㅎㅎㅎ 완강 하시느라 고생 많으셨고, 새해 복 많이 받으세요!!

4.148.523 ₫

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!