강의

멘토링

로드맵

Programming

/

Back-end

Xây dựng hệ thống thanh toán vững chắc

Khóa học Xây dựng hệ thống thanh toán thực tế, học thông qua mã và cung cấp kiến ​​thức cần thiết để triển khai một hệ thống thực tế.

(4.4) 24 đánh giá

475 học viên

  • yjm9505168574
실습 중심
결제기능
결제기능구현
backend
Spring
DBMS/RDBMS
payments
Spring Boot

Đá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 thanh toán có tính tin cậy

  • Thanh toán hệ thống nguyên tắc cơ bản và thành phần

  • Xử lý giao dịch và kiểm soát đồng thời

  • Hiểu về quy trình thanh toán

💲 "Nói thì dễ. Cho bạn xem mã."

Khóa học này có cách tiếp cận thực tế và được xây dựng để giúp bạn hiểu các khái niệm cốt lõi một cách dễ dàng, bao gồm:

  • Thiết kế hệ thống thanh toán

  • Triển khai chức năng ủy quyền thanh toán và xử lý lỗi

  • Triển khai hệ thống tin nhắn thanh toán bằng Apache Kafka

  • Kiểm soát đồng thời sử dụng khóa lạc quan

  • Cách quản lý lỗi bằng Dead Letter Queue

  • Đảm bảo xử lý và phân phối tin nhắn thông qua các giao dịch Kafka

  • Phát hành tin nhắn chấp thuận thanh toán bằng cách sử dụng Transactional Outbox Pattern

  • Cách sử dụng Kafka một cách đáng tin cậy

  • Dịch vụ thu hồi thanh toán sử dụng Bulk Head Pattern và xử lý song song

  • Xây dựng dịch vụ sổ cái sử dụng kỹ thuật sổ cái kép


Khóa học này được thiết kế dành cho các nhà phát triển phần mềm có kiến ​​thức lập trình cơ bản và cung cấp các kỹ năng thực tế để hiểu và xây dựng chức năng cốt lõi của hệ thống thanh toán từ đầu đến cuối . Mục tiêu của khóa học không phải là truyền đạt kiến ​​thức lý thuyết mà là nâng cao khả năng giải quyết các vấn đề thực tế và áp dụng chúng vào các dự án. Do đó, sau khi hoàn thành khóa học, bạn sẽ có thể thiết kế và triển khai hệ thống thanh toán của riêng mình, cũng như cải thiện độ tin cậy và hiệu suất của các hệ thống hiện có.

💡 Hệ thống thanh toán đáng tin cậy: Từ cơ bản đến thực hành: Hướng dẫn đầy đủ

  • Tìm hiểu mọi thứ từ những kiến ​​thức cơ bản về thiết kế và triển khai hệ thống thanh toán cho đến các kỹ thuật xử lý tin nhắn đáng tin cậy.

  • Tìm hiểu cách áp dụng các chiến lược thiết yếu cho giải pháp thanh toán vào thực tế, bao gồm Kafka, Dịch vụ ví và kiểm soát đồng thời.

📚 Tìm hiểu về những điều này

1. Thiết kế hệ thống thanh toán

Làm rõ định nghĩa và các yêu cầu cốt lõi của hệ thống thanh toán và xem xét toàn bộ hệ thống từ góc độ tổng thể. Trong quá trình thiết kế kiến ​​trúc của hệ thống thanh toán sẽ được phát triển, chúng tôi sẽ đề cập sâu đến việc lựa chọn cơ sở dữ liệu, phong cách giao tiếp và phương pháp để đảm bảo độ tin cậy và khả năng xử lý việc gửi tin nhắn. Điều này sẽ giúp người học hiểu được cách thức hoạt động bên trong của hệ thống thanh toán và hiểu sâu hơn về các quyết định kỹ thuật khác nhau cần được xem xét khi triển khai hệ thống vào thực tế.

2. Triển khai chức năng phê duyệt thanh toán và xử lý lỗi

Chúng tôi sẽ thực hành triển khai chức năng phê duyệt thanh toán thông qua tích hợp Toss Payments. Trong bài giảng này, bạn sẽ học cách triển khai Retry, một cơ chế thử lại để khắc phục những lỗi có thể xảy ra trong quá trình thanh toán. Ngoài ra, chúng tôi xác định các loại lỗi khác nhau có thể xảy ra trong quá trình thanh toán và thảo luận về các chiến lược xử lý lỗi để giải quyết chúng.

3. Dịch vụ thu hồi thanh toán

Hướng dẫn về Dịch vụ khôi phục thanh toán tập trung vào các cơ chế khôi phục các sự kiện thanh toán không thành công do các trường hợp ngoại lệ chưa được xử lý hoặc không xác định. Trong bài giảng này, bạn sẽ học cách áp dụng mô hình Bulk Head để cải thiện độ tin cậy của hệ thống. Chúng tôi cũng thảo luận về các chiến lược nhằm cải thiện hiệu suất của các chức năng phục hồi hệ thống thanh toán bằng cách tận dụng các kỹ thuật xử lý song song.

4. Gửi tin nhắn phê duyệt thanh toán

Chúng tôi sẽ tập trung vào cách xuất bản tin nhắn sự kiện bằng Apache Kafka sau khi xác thực thanh toán thành công. Trong bài giảng này, bạn sẽ học cách áp dụng Mẫu hộp thư đi giao dịch để đảm bảo rằng các thông điệp sự kiện được xuất bản vô điều kiện. Thông qua khóa học này, bạn sẽ học được các kỹ thuật và chiến lược thực tế để triển khai truyền dữ liệu nhất quán và đáng tin cậy giữa các hệ thống thanh toán và các hệ thống khác.

Những điều cần lưu ý trước khi tham gia lớp học

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

  • Hệ điều hành và Phiên bản (OS): Hỗ trợ tất cả các hệ điều hành, bao gồm Windows, macOS và Linux.

  • Các công cụ được sử dụng: Intellij, Datagrip, Kotlin, Docker, Toss App, Git, Confluent Kafka Cloud

  • Thông số kỹ thuật của PC: PC có thông số kỹ thuật cơ bản có thể truy cập Internet


Tài liệu học tập

  • Định dạng tài liệu học tập được cung cấp: Notion

  • Khối lượng và dung lượng: Tài liệu học tập được cung cấp cho từng phần

Kiến thức và ghi chú của người chơi

  • Khóa học này xây dựng chương trình giảng dạy độc đáo bằng cách áp dụng lý thuyết thiết kế Hệ thống thanh toán từ cuốn Phỏng vấn thiết kế hệ thống: Hướng dẫn của người trong cuộc: Tập 2 của Alex Xu và áp dụng vào các trường hợp thực tế.

  • Chúng tôi tận dụng các công nghệ như Kotlin, Spring Webflux, Spring Data R2DBC, Spring Data JPA, MySQL và Apache Kafka. Bạn sẽ có thể hiểu được bài giảng mà không cần có bất kỳ kiến ​​thức nào trước về các công nghệ này.


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 backend tò mò về hệ thống thanh toán

  • Học sinh muốn làm dự án thực tế

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

  • Kotlin

  • Webflux mùa xuân

  • Dữ liệu mùa xuân Jpa

  • Dữ liệu mùa xuân R2DBC

  • MySQL

  • Apache Kafka

Xin chào
Đây là

982

Học viên

54

Đánh giá

38

Trả lời

4.5

Xếp hạng

3

Các khóa học

안녕하세요.

저는 개발자면서 교육자로 신뢰할 수 있는 강의를 만들려고 노력하고 있습니다.

강의를 만들 땐 필요한 지식과 기술을 군더더기 없이 전달하는 정보 밀도 높은 콘텐츠를 제공하려고 합니다.

제가 관심있는 분야, 정말 의미 있다고 믿는 영역에만 강의를 만들며, 누구나 만들 수 있는 강의는 만들지 않습니다.

추가로 커리어리에서도 유용한 글들을 쓰고 있습니다. 

- (前) 카카오엔터프라이즈 소프트웨어 엔지니어

- (前) 카카오 Ground X 소프트웨어 엔지니어

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

Tất cả

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

24 đánh giá

4.4

24 đánh giá

  • xpdpfal5210님의 프로필 이미지
    xpdpfal5210

    Đánh giá 1

    Đánh giá trung bình 4.0

    4

    19% đã tham gia

    Đây thực sự là một bài giảng hoàn hảo về chủ đề, nội dung và mã... nhưng thực sự rất đáng thất vọng khi nó là một kiến ​​trúc hình lục giác. Nếu không có điều này thì sẽ là 5 sao... Tôi thực sự không chắc liệu hình lục giác có phải là kiến ​​trúc cần thiết hay không. ㅠㅠ Thực sự thì việc hiểu logic thanh toán còn khó hơn... Đó là một bài giảng về thanh toán nên tôi không thể tập trung tốt được. Ngoài điều này ra thì nó hoàn toàn hoàn hảo. Tài liệu bài giảng được sắp xếp rất gọn gàng nên rất dễ hiểu và tôi thích rằng dường như họ đã bỏ rất nhiều công sức vào việc biên tập. Lục giác.. Nếu loại trừ cái này thì là 100000 điểm... Tôi rất mong chờ bài giảng tiếp theo!

    • kms920106님의 프로필 이미지
      kms920106

      Đánh giá 24

      Đánh giá trung bình 4.6

      5

      62% đã tham gia

      Thật đáng tiếc, nhưng đó là một công việc có kinh nghiệm. Tôi từng phụ trách dịch vụ môi giới ứng dụng giao hàng tại công ty trước đây của mình và có kiến ​​thức về lĩnh vực đặt hàng và dịch vụ thanh toán nên tôi nghĩ mình sẽ dễ dàng tiếp thu bài giảng này. Nhưng không.. nó rất khó..không phải ở cấp độ mới bắt đầu.. Hệ thống đặt hàng ở công ty tôi từng làm việc thật buồn cười. Chắc chắn bạn sẽ có cảm giác giống như đang học một phiên bản kỹ thuật cao hơn của dịch vụ thanh toán. Như trong bài đánh giá bên dưới (Ahyo), kiến ​​thức về Kotlin, Reactive, Hexagonal Architecture và Kafka được yêu cầu làm nền tảng cơ bản và nếu bạn biết Java hoặc SpringBoot MVC, bạn có thể đang bận theo dõi mã. Tuy nhiên, tôi nghĩ rằng bạn nên tiếp tục xem bài giảng này cho đến khi hiểu hết nếu muốn phát triển năng lực về dịch vụ thanh toán. Tôi nghĩ nó rất quan trọng.. (Nó rất khó khăn đối với tôi, một người cứng đầu.) Nếu có thời gian sau khi hoàn thành khóa học này, tôi sẽ refactor nó thành các mẫu Java và Spring MVC mà tôi đã biết ban đầu và nghiên cứu kỹ càng để tiếp thu kiến ​​thức. Tôi cảm thấy như mình đã mất trí sau khi gặp kẻ thách đấu đó trong LoL. Tôi cảm thấy có động lực để học tập chăm chỉ hơn

      • yjm9505168574
        Giảng viên

        Cảm ơn bạn đã đánh giá tuyệt vời! Đó là một biệt danh quen thuộc haha Để bài giảng dễ theo dõi hơn, tôi nghĩ mình nên giải thích ngắn gọn về kiến ​​trúc, Kotlin và Reactive. Tôi đã suy nghĩ rất nhiều về việc đưa lời giải thích này vào, nhưng tôi nghĩ nó sẽ khiến rốn tôi to hơn bụng. đặt nó vào. Tuy nhiên, tôi không nghĩ nó sẽ quá khó vì tôi không sử dụng cú pháp Kotlin khó! Trong bài giảng tiếp theo, tôi sẽ cố gắng hết sức để giải thích nó một cách tử tế và dễ dàng hơn. Cảm ơn bạn đã phản hồi tốt ~~

    • syh8088님의 프로필 이미지
      syh8088

      Đánh giá 7

      Đánh giá trung bình 5.0

      5

      90% đã tham gia

      Thật tuyệt vời khi có thể có được kiến ​​thức tốt thông qua dịch vụ thanh toán vững chắc! Theo cá nhân tôi, tính nhất quán của dữ liệu là một phần rất quan trọng của dịch vụ thanh toán và thật tuyệt khi có thể tiếp thu nhiều công nghệ khác nhau để đảm bảo không bỏ sót điều gì. Thật đáng tiếc nhưng sẽ tốt hơn nếu nó được thực hiện bằng ngôn ngữ java và 'dịch vụ thanh toán mạnh mẽ' Mặc dù đây là trọng tâm chính nhưng vẫn có một số khó khăn trong việc giới thiệu webflux mùa xuân. Tôi nghĩ sẽ khó có thể truy cập được đối với những sinh viên không biết về spring webflux.

      • blutics님의 프로필 이미지
        blutics

        Đánh giá 16

        Đánh giá trung bình 4.2

        3

        71% đã tham gia

        Mặc dù họ nói rằng họ không chỉ đơn giản là sử dụng lại hoặc sắp xếp lại, nhưng họ cảm thấy hơi thất vọng khi thấy họ không giải thích chính xác về sổ cái kép hoặc các khái niệm sổ cái/ví cơ bản. Theo nhiều cách, nó có vẻ giống như một chủ đề hơi nằm ngoài hệ thống thanh toán.

        • yjm9505168574
          Giảng viên

          Chúng ta có nên giới thiệu một lịch sử chi tiết hơn, chẳng hạn như tại sao Hệ thống sổ cái ra đời? Tôi nghĩ rằng tôi đã giải thích đầy đủ những điểm chính về hệ thống Sổ cái và Ví đôi. Tôi không nghĩ bạn đã nghe thấy phần Sổ cái và Ví, nhưng tôi không hiểu tại sao bạn lại đề cập đến việc sắp xếp lại/tái sử dụng đơn giản. Tôi muốn hỏi liệu có nhiều mối lo ngại về việc áp dụng lý thuyết vào thực tế hay không.

        • Tôi không nói rằng việc thực hiện nó như thế nào là quan trọng. Điều tôi muốn nói là nếu bạn chỉ nhìn vào các trường, khái niệm sổ cái, chẳng hạn như ghi nợ hoặc tín dụng, và tên bảng được sử dụng, và khái niệm ghi sổ kép, là tên của ghi sổ kế toán kép, là được sử dụng, phần này cần giải thích. Có cần thiết phải hiểu cách ghi sổ kế toán kép ở một mức độ nào đó và giải thích cách thực hiện ghi sổ kế toán kép để theo dõi và quản lý các khoản thanh toán một cách đáng tin cậy không? Đây không phải là hiểu về miền cũng như hiểu định nghĩa và yêu cầu của nó sao? Đây có phải là cách để giải thích chính xác miền thanh toán này không? Trong bài giảng này, chúng tôi trình bày một mã vận hành ổn định quy trình thanh toán gần đúng và chỉ ra cách quản lý nó như một sự kiện với Kafka cũng như quản lý các giao dịch trong quy trình này. Đối với tôi, có vẻ như trọng tâm chính không phải là miền thanh toán mà là Kafka và quản lý giao dịch, những thứ này chỉ được hiển thị trong quá trình thanh toán. Điều này không có nghĩa là người hướng dẫn không chuẩn bị trước hoặc nội dung bài giảng không chân thành. Tuy nhiên, tôi đã trả 100.000 won với hy vọng nó sẽ giải đáp thắc mắc của tôi về miền thanh toán nhưng tôi cảm thấy mình không nhận được nhiều nên đã để lại đánh giá sắc bén. Tôi tức giận để lại điểm 2 nhưng lại đổi thành điểm 3.

      • worldculture1233221님의 프로필 이미지
        worldculture1233221

        Đánh giá 1

        Đánh giá trung bình 5.0

        5

        33% đã tham gia

        3.103.931 ₫

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

        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!