강의

멘토링

커뮤니티

NEW
Programming

/

Web Development

Các mẫu giao dịch phân tán từ góc độ MSA được chia sẻ bởi interviewer Kakao (developer)

Học kỹ thuật quản lý giao dịch SAGA để duy trì tính nhất quán dữ liệu trong môi trường phân tán thông qua thực hành. Sử dụng Spring Boot và Docker để cấu hình 3 microservice, triển khai hai mẫu Orchestration và Choreography với Kafka và MySQL. Thông qua khóa học này, bạn có thể nắm vững các khái niệm cốt lõi có thể áp dụng ngay trong thực tế như nguyên lý hoạt động của giao dịch phân tán, thiết kế giao dịch bù trừ, xử lý phục hồi sự cố.

(5.0) 3 đánh giá

93 học viên

  • Hong
실습 중심
백엔드이해하기
자격증
시험
스프링
Java
Spring
MySQL
Spring Boot
MSA

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

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

  • Bí mật thiết kế giao dịch phân tán bất chấp sự cố được tiết lộ

  • Mô hình Orchestration·Choreography, khi nào và như thế nào sử dụng trong thực tế?

  • Triển khai giao dịch SAGA dựa trên sự kiện thời gian thực với Kafka

  • Spring Boot로 완성하는 ổn định kiến trúc giao dịch bù trừ

  • Docker로 직접 구축하는 마이크로서비스 트랜잭션 실습

Làm thế nào để quản lý ACID trong môi trường MSA một cách hiệu quả?? 🤔

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

😁Người phỏng vấn Kakao (lập trình viên): XX này (Hong), bạn nên tìm hiểu về distributed transaction. Bạn có biết không??

😄 Hong : Ý bạn là những khái niệm như local transaction hay guaranteed transaction đó à??

😁Nhà tuyển dụng Kakao (lập trình viên) : Ừ đúng rồi, đang nói về SAGA pattern đó. Tôi làm nhà tuyển dụng mà hay hỏi mấy câu này, nhưng nhiều người không biết lắm nên nghĩ đến bạn mà hỏi thôi

😄 Hong : Tôi có nghe qua rồi, nhưng mà tôi chưa thực hiện đến cấp độ core. Nói nhanh là chưa đi sâu đến quan điểm Database per Service nên chỉ biết khái niệm thôi

😁Người phỏng vấn Kakao (lập trình viên): Vậy thì với chủ đề này, tôi sẽ tổng hợp nội dung liên quan và chia sẻ với bạn, đồng thời chúng ta cùng tiến hành thông qua việc xử lý cả phần bài giảng liên quan.

😄 Hong : 😆😆😆😆😆 Tốt đấy, vậy thì sau này tôi cũng ứng tuyển Kakao thì sẽ được lợi nhỉ 😆😆 Thử tiến hành một lần xem.

Có thể bạn thực hiện quan điểm ACID trong môi trường MSA như thế nào?? 🤔

Trong mối quan hệ giữa vô số ứng dụng dịch vụ, nếu thực hiện quan điểm Database per Service, thì trong tình huống này làm thế nào để đảm bảo quản lý trạng thái công việc và Transaction tương ứng??

Câu trả lời cho điều đó nằm trong mô hình SAGA. Để thực hiện và xử lý một tác vụ, bạn sẽ phải giao tiếp với vô số dịch vụ và trong quá trình đó sẽ phát sinh vô số giao dịch. Từ quan điểm mà mỗi dịch vụ đều có cơ sở dữ liệu riêng, mỗi tác vụ sẽ thực hiện giao dịch cục bộ và thông qua mô hình thực hiện giao dịch bù trừ cho các tình huống lỗi, một tác vụ sẽ được thực hiện. Tôi hy vọng rằng bạn sẽ xem bài giảng này và có được quan điểm về cách triển khai chức năng giao dịch phân tán như vậy.🚀

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

📌 Khóa học được xây dựng dựa trên kinh nghiệm và câu hỏi phỏng vấn từ người phỏng vấn thực tế của Kakao (nhà phát triển)

  • Nội dung được cấu trúc dựa trên những câu hỏi thực tế mà các nhà phỏng vấn Kakao (lập trình viên) đã đặt ra trong buổi phỏng vấn. Thay vì chỉ đơn giản cung cấp các câu trả lời cố định cho phỏng vấn, nội dung được thiết kế để có thể đối phó với mọi câu hỏi về SAGA pattern.

📌 Cấu trúc bài giảng với vô số sơ đồ, tóm tắt bài học và mã nguồn

  • Không chỉ là bài giảng đơn thuần bằng lời nói, mà còn cung cấp mã nguồn thực tế, sơ đồ, biểu đồ trình tự, và thêm vào đó là các file tóm tắt ngắn gọn về nội dung bài giảng để nâng cao hiệu quả học tập cho bạn.


📌 Con đường tắt từ Junior đến Senior..! Quản lý giao dịch phân tán từ góc độ MSA

  • Thông qua khóa học này, bạn có thể xác định những vấn đề gì tồn tại trong môi trường MSA và cách giải quyết các vấn đề đó, đồng thời học một cách rõ ràng về những ưu điểm và nhược điểm của nó.


Chúng tôi khuyến nghị cho những người như thế này 👨‍🏫

🎯 Lập trình viên không chuyên ngành nhưng muốn thử thách bản thân với thiết kế hệ thống lưu lượng truy cập lớn

🎯 Đã nghe về MSA, SAGA nhưng không biết phương pháp thiết kế cụ thể

🎯 Nhà phát triển backend quan tâm đến khả năng mở rộng lưu lượng truy cập và khả năng phục hồi sau sự cố của startup/doanh nghiệp lớn

🎯 Vượt ra ngoài microservice đơn giản, các nhà phát triển muốn thiết kế các giao dịch phân tán phức tạp

Tài liệu nên xem cùng 🚀

Những người cùng tạo ra khóa học 🤭

⚠️ Đừng bỏ lỡ cơ hội được nghe quan điểm từ các lập trình viên tài năng và các nhà tuyển dụng!

Lưu ý

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

  • MySQL

    • Cấu hình sử dụng Docker.

  • Spring, Spring Boot

    • Sử dụng phiên bản 3.x (3.2)

  • Java

    • Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)

  • docker, docker-compose

    • Docker version 28.0.0, build f9ced58158

    • Docker Compose phiên bản 2.33.1

  • IDE

    • IntelliJ IDEA

  • OS

    • Apple M3 Air

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

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

  • Nhà phát triển server đang băn khoăn về vấn đề tính nhất quán dữ liệu giữa các microservice

  • Kỹ sư backend muốn học thiết kế giao dịch phân tán thông qua code thực tế

  • Nhà phát triển muốn nâng cấp kiến trúc dựa trên Kafka lên một tầm cao mới

  • Người học muốn nắm vững mô hình SAGA thực tế với Spring Boot

  • Các nhà lãnh đạo công nghệ và kiến trúc sư muốn thiết kế hệ thống quy mô lớn ổn định

Xin chào
Đây là

3,818

Học viên

287

Đánh giá

104

Trả lời

4.6

Xếp hạng

18

Các khóa học

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

 

제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

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

 

지식공유자 경력

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

[前] 넥슨 자회사 백엔드 개발자

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

 

인터뷰 이력

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

Tất cả

24 bài giảng ∙ (5giờ 2phú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ả

3 đánh giá

5.0

3 đánh giá

  • 우왕 개발자다님의 프로필 이미지
    우왕 개발자다

    Đánh giá 9

    Đánh giá trung bình 5.0

    5

    38% đã tham gia

    강의를 만드는데 도움을 준 카카오에서 서버 개발하고 있습니다. 사실 면접관이라는 직책은 좀 숨기고 싶었는데... ㅠㅠ 정말 다루면 너무나도 좋은 주제라고 생각을 하여 이렇게 강의에 함께하게 되었습니다. 말씀드렸던것처럼 저는 실제로 카카오에서 면접을 진행하면, 프로그래밍 관점에서는 딱히 궁금해 하지않습니다. 거의 대부분의 질문이 아키텍처 설계를 할 수 있냐 없냐에 대한 내용을 많이 물어보고 `이 사람은 어떤 구상을 할 수 있는지`를 굉장히 중요하게 생각하고 있습니다. 이 관점에서의 다양한 문제가 발생 가능한데, 그러한 요인중에 하나가 이 분산 트랜잭션 입니다. 그래서 이 강의가 그만큼 더 유익하다고 생각을 해요. 여러분들이 이 강의를 들으시고 이런 질문들에 대해서 답변 할 수 있으면 정말 뜻깊게 학습을 하신거라고 생각합니다. 1. SAGA의 두 패턴에 대해서 알려주세요 ( 코레오그래피 VS 오케스트레이션) 2. 이 두 패턴의 차이와 장단점에 대해서 알려주세요. 대표적으로 처리량 부분이나 그에따른 문제점이 궁금해요. 3. 로컬 트랜잭션이라는 개념을 알고 계신가요?? (모른다면 알려줍니다) 그러면 이런 트랜잭션과의 관계에서 분산 트랜잭션은 어떻게 관리 할 수 있을까요?? 4. 분산 트랜잭션 관점에 대해서 전반적으로 알고있는것들을 알려주세요. 궁금합니다. 5. Database per Service라는 관점이 어떤 관점이신지 알고 계신가요?? 실제로 제가 면접에 들어가면 던지는 질문 예시입니다. 이런 부분들에 대해서 알고 계시고 답변 할 수 있다면 큰 도움이 되실꺼같아요. 강의 많은 관심 부탁드립니다. 감사합니다!

    • keny님의 프로필 이미지
      keny

      Đánh giá 14

      Đánh giá trung bình 5.0

      5

      92% đã tham gia

      개인적으로 인프런에서 가장 유익한 강의 중 하나가 아닐까 생각이 드네요. 그만큼 내용도 알차게 학습할 수 있었습니다. 감사합니다.

      • 개발에 미친자님의 프로필 이미지
        개발에 미친자

        Đánh giá 6

        Đánh giá trung bình 5.0

        5

        92% đã tham gia

        강의 너무 잘 봤습니다. 초기 정말 수많은 다이어그램을 보여주시면서 전반적인 아키텍처와 그에따른 설명이 너무 마음에 들었고 부족할만한 지식과 정리할만한 개념은 따로 강의 요약 파일을 통해 확인도 가능했습니다. 필요에 따라서 인프런 스크립트도 도움이 되었습니다. 또한 복습하는 과정도 하나하나 다시 설명해주시고, 현실적인 이야기와 실무적인 관점에서의 이야기도 너무 유익했다고 생각합니다. 너무 잘 봤습니다. 감사합니다.

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

        29.700 ₫

        70%

        2.088.232 ₫

        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!