Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Java 高階實戰課:自研 RPC 框架,從 0 開始實作輕量級 RPC 框架構建你的分佈式中台, 每一行代碼都是純手寫
Rating: 5.0 out of 5(1 rating)
8 students

Java 高階實戰課:自研 RPC 框架,從 0 開始實作輕量級 RPC 框架構建你的分佈式中台, 每一行代碼都是純手寫

每天寫 CRUD 感到迷茫?這門課帶你利用JAVA從零實作輕量 RPC 框架,掌握 Netty 通訊、動態代理、序列化與服務發現,深入 Spring Boot 高階應用,真正成為能設計中間件的高階開發者。
Created byJustin Gu
Last updated 7/2025
Chinese (Simplified)

What you'll learn

  • 學員將從最基礎的 Java 類設計與接口出發,逐步實作出屬於自己的 RPC 通訊框架,掌握接口代理、序列化、網絡傳輸、請求路由等核心技術,親手寫出每一行代碼,真正理解分散式系統背後的通訊原理與設計哲學。
  • 課程深入探討 Spring Boot 的高階應用,包括自定義註解啟動機制、Bean 生命週期的精準控制與介入,讓學員不再僅是框架的使用者,而是能夠主動擴展與改造框架行為的設計者與開發者。透過大量實戰範例與手寫代碼,你將徹底理解 Spring Boot 背後的原理與運作機制,從而真正躍升為具備底層掌控力的高階開發者。
  • 本課程涵蓋多個主流框架的核心原始碼剖析,帶你深入理解其設計理念與底層實現原理
  • 學生將親自設計與實作自定義序列化協議,並對比 Java 原生序列化、Kryo、Protobuf 等序列化技術的效能差異,真正理解資料轉換與封包壓縮在網路傳輸中的重要性,並能根據需求優化系統效能。
  • 課程將帶你深入了解 Java 的動態代理機制(JDK Proxy 和 CGLIB),並應用於 RPC 客戶端的遠端接口代理設計,讓你理解如何將本地方法封裝為遠端請求,打造無縫接軌的服務呼叫體驗。
  • 本課程將教你如何為 RPC 框架增加錯誤重試、超時控制、熔斷保護等容錯邏輯,實現高可用性設計思維,讓學生理解企業級分散式系統在實戰中對「穩定性」的極致要求與工程實踐方式。

Course content

9 sections • 58 lectures • 11h 55m total length
  • 課程預覽1:36
  • 课程简介5:24

    本課程你將學到:

    • 如何從零設計並實現一個輕量級 RPC 框架,掌握網路通訊全流程

    • 使用 Netty 實現非同步、高效能的客戶端與服務端通訊模型

    • 自訂 RPC 協議、序列化機制、請求/回應模型,提升可擴展性與穩定性

    • 利用 Java 動態代理與反射機制,實現服務呼叫透明化

    • 實現服務註冊中心、負載平衡、逾時控制、重試與容錯機制

    • 逐行解析 Spring Boot 啟動流程中的關鍵原理,並與本課程 RPC 框架設計進行對比與借鑑

    • 參考主流開源框架(如 Spring、MyBatis 等)原代碼設計思路,理解優秀框架如何分層與解耦

    • 融入大量設計模式實戰講解:工廠模式、代理模式、模板方法、單例模式等在框架中的實際應用

    • 學習如何進行系統分層、職責劃分、項目代碼解耦等微服務架構設計核心思想

    • 最終產出一個可運行、可擴展、可講解的自訂 RPC 框架,可用於作品集、履歷展示或技術布道

    每一行核心程式碼皆手把手教學,源代碼級深度講解,真正幫助你從「會用」邁向「能造」

  • 圖解RPC框架調用流程8:49

    RPC(Remote Procedure Call,遠端程序呼叫)是一種通訊機制,允許你像呼叫本地方法一樣去呼叫另一台遠端伺服器上的方法。呼叫方無需了解底層的通訊細節,RPC 框架會幫你「封裝呼叫、發送請求、解析結果」。

  • 市面上常見的 RPC 框架對比6:10

    市面上常见的RPC框架.

    图解本课程设计的RPG框架工作流程。

  • Netty傳輸協議介紹及出入站處理器介紹11:22

    在 Netty 中,Inbound Handler(入站處理器)和 Outbound Handler(出站處理器)是處理網路事件的兩類核心元件,它們在 Netty 的 ChannelPipeline 中扮演不同的角色。

Requirements

  • 熟悉 Java 語言的基本語法
  • 理解 Java 中類、接口、封裝、繼承、多型等核心概念
  • 具備基本的 Spring Boot 使用經驗(例如:註解開發、Controller、Service 使用等)
  • 無需架構經驗,課程將從零開始逐步構建完整框架

Description

這不是一門簡單的框架講解課,而是一場真正從 0 到 1 實作 RPC 框架的深度實戰之旅。

在這門課中,我將親手帶你編寫每一行代碼,從底層通信協議設計開始,到動態代理、序列化、Netty 處理流程、Spring Boot 整合、服務註冊與發現 —— 一步步構建出一套可運行、可擴展的輕量級 RPC 框架。

你將學會如何:

  • 自定義 RPC 請求協議與消息格式

  • 使用 Netty 打造高性能的通訊模塊

  • 利用 Java 反射與動態代理完成遠端方法調用

  • 運用 Spring Boot 的高級擴展介面,自動掃描與註冊遠端服務

  • 設計並實作服務中心(註冊與發現)、連線池、異常處理與超時機制

  • 設計並實現服務降級機制

  • 架構出可應對真實分散式場景的通訊體系

這不只是帶你「了解原理」,而是讓你從一個框架使用者,晉升為能設計底層中間件的架構開發者。

我們不看 PPT,不複製現成代碼,每一行都親自寫,每一步都親自走。
這將是一次對你技術實力的全方位升級,為你的簡歷、面試與職涯發展打下紮實的底層功底。

Who this course is for:

  • 適合有一定 Java 開發經驗、希望深入底層原理、提升架構思維的程式設計師
  • 想跳脫“只會調用框架 API”現狀,成為能手寫中間件、掌握設計原則的高階工程師
  • 適合每天忙於 CRUD 開發、渴望突破框架限制、掌握底層原理與核心技術的程式設計師。