1. 程式人生 > >服務動態分配的分布式設計

服務動態分配的分布式設計

比較 通過 動態加載 ges 加載 分布式 ron http strong

今天自己腦洞了一種負載均衡的方案,各自處理業務邏輯的服務器不再像以往一樣需要部署各自不同的業務服務,而是統一由一個服務器管理調度。也就是說子服務在脫離了調度服務器就是一個空殼,不處理任何邏輯,只有當調度服務器分配指定任務,去資源管理獲取相關的資源(有點類似學校學習)之後才能獲得該服務的技能。這麽設計後,所有子服務器部署著同樣的代碼,具體的業務邏輯處理都是在運行後才會動態加載和處理。

主要由三部分組成

  1. 調度服務器
  2. 子服務器
  3. 資源服務器
  • 調度服務器

調度服務器主要用來分配子服務器的各自負責的服務。調度服務器還有一個功能是轉發客戶端請求。在接收到客戶端請求後,通過服務映射關系,根據指定規則,動態的轉發給指定子服務器

  • 子服務器

子服務器本身沒有任何和具體服務相關的業務代碼,所有的負責任務,都必須由調度服務器發起,之後再通過調度服務器所分配的鑰匙,向資源服務器獲取資源,然後才能處理相關服務

  • 資源服務器

資源服務器主要負責保存管理服務所需的相關資源,如class文件等,同時如果想獲得資源服務器的相關資源,必須先調度服務器向資源服務器分配鑰匙,然後準備完畢後,再由子服務器通過鑰匙才能獲取相關資源

服務結構


技術分享

各服務器所需提供接口

技術分享

技術分享

技術分享

服務流程

技術分享

只是先腦補了一下大概功能點,代碼還沒實現,感覺比較龐大,有時間再慢慢實現吧

服務動態分配的分布式設計