閱讀910 返回首頁    go 技術社區[雲棲]


少打一局王者榮耀就能上手Spring Cloud?!

近兩年刷爆技術圈的最熱門技術當屬微服務技術,其中成熟度最高的是Spring Cloud。那麼如何快速上手並運用於業務的生產環境是個讓技術996的難題。接下來,雲框架就教妹子王者榮耀一樣,教你快速上手Spring Cloud。
可能有細心的水友會問了,
雲框架就是總結當下最火的技術框架,並結合典型項目案例,通過Demo演示+自助操作,為開發者提供基於技術落地的最佳實踐課程。
雲框架係列主題,遵循APACHE LICENSE 2.0協議發布。(類似於通關各類新興技術的圖文攻略,甚至還有一些腳本可供使用。)
少打一局王者榮耀就能上手Spring Cloud?!
接下來我們直奔主題,來看看雲框架Spring Cloud係列教程裏,大神的操作視頻。
PiggyMetrics是一款個人財務管理應用,在研發及運營過程中采用Spring Cloud作為業務架構基礎,技術成熟度非常高,我們來觀摩下他是如何操作的。

1. 安裝雲幫PaaS平台
應用快速交付平台(單機版)
應用快速交付平台(企業版)
2. 下載dockercompose文件。
3. 平台導入
少打一局王者榮耀就能上手Spring Cloud?!
少打一局王者榮耀就能上手Spring Cloud?!
少打一局王者榮耀就能上手Spring Cloud?!
少打一局王者榮耀就能上手Spring Cloud?!
少打一局王者榮耀就能上手Spring Cloud?!
少打一局王者榮耀就能上手Spring Cloud?!
少打一局王者榮耀就能上手Spring Cloud?!
少打一局王者榮耀就能上手Spring Cloud?!

點擊左側組名回到應用集群,待圖標全部變綠即可通過訪問,期間可以刷新幾次便於快速交互圖標狀態。

少打一局王者榮耀就能上手Spring Cloud?!
少打一局王者榮耀就能上手Spring Cloud?!
少打一局王者榮耀就能上手Spring Cloud?!
操作成功,項目成功運行。
少打一局王者榮耀就能上手Spring Cloud?!






通過觀察學到一些新的操作思路。(框架說明-業務架構)
Piggymetrics通過Spring Cloud實現微服務架構,應用被分解為賬戶服務(ACCOUNT SERVICE)、統計服務(STATISTICS SERVICE)、通知服務(NOTIFICATION SERVICE)等三個核心微服務。每個微服務都是圍繞業務能力組織的可獨立部署的應用程序,擁有獨立的數據庫並使用同步的REST API實現微服務與微服務之間的通信。
PiggyMetrics業務架構如下圖所示:
 
賬戶服務模塊包含一般用戶輸入邏輯和驗證:收入/費用項目,儲蓄和帳戶設置。
方法 路徑 描述 用戶驗證 UI可用
GET /accounts/{account} 獲取特定賬戶數據
GET /accounts/current 獲取當前賬戶數據 × ×
GET /accounts/demo 獲取demo賬戶數據 (預填充收入/支出項目等) ×
PUT /accounts/current 保存當前賬戶數據 × ×
POST /accounts/ 注冊新賬戶 ×

統計服務模塊執行主要統計參數的計算,並捕獲每個帳戶的時間序列。
方法 路徑 描述 用戶驗證 UI可用
GET /statistics/{account} 獲取特定賬戶統計        
GET /statistics/current 獲取當前賬戶統計 × ×
GET /statistics/demo 獲取demo賬戶統計 ×
PUT /statistics/{account} 創建或更新時間係列數據點指定的帳戶

通知服務模塊存儲用戶聯係信息和通知設置(如提醒和備份頻率),計劃工作人員從其他服務收集所需的信息,並向訂閱的客戶發送電子郵件。
方法 路徑 描述 用戶驗證 UI可用
GET /notifications/settings/current 獲取當前賬戶通知設置 × ×
PUT /notifications/settings/current 保存當前賬戶通知設置 × ×

大神的操作當然離不開合適的裝備。(框架說明-組件架構)
Piggymetrics基礎服務設施中用到了Spring Cloud Config、Netflix Eureka、Netflix Hystrix、Netflix Zuul、Netflix Ribbon、Netflix Feign等組件,而這也正是Spring Cloud分布式開發中最核心的組件。
組件架構如下圖所示:
 
賬戶服務通過遠程客戶端(Feign)調用統計服務及通知服務,通過Ribbon實現負載均衡,並在調用過程中增加了斷路器(Hystrix)的功能;
由於服務發現後才能調用,因此賬戶服務、統計服務、通知服務通過注冊中心(Eureka)實現互相發現;
API Gateway(Zuul)提供對外統一的服務網關,首先從注冊中心(Eureka)處獲取相應服務,再根據服務調用各個服務的真實業務邏輯;
服務調用過程通過聚合器(Turbine)統一所有斷路信息;
整個業務過程中所有服務的配置文件通過Spring Cloud Config來管理,即起什麼端口、配置什麼參數等;
認證機製通過Auth service實現,提供基本認證服務;
Spring Cloud Config、Eureka、Ribbon、Hystrix、Feign以及Turbine均為標準組件,與業務之間沒有強關係,不涉及到業務代碼,僅需簡單配置即可工作。
敲黑板了同學們!那麼如何變成自己的項目呢?總共有5步。
1. git clone項目到本地,並基於該項目創建自己的mvn項目
2. 將auth-service、account-service、notification-service、statistics-service替換成自己的服務,構造成docker鏡像並上傳至官方鏡像庫
o config、registry、gateway、monitoring代碼無需修改
3. 在config中修改統一的配置文件,比如新增服務的服務名、端口等,構造成docker鏡像並上傳至官方鏡像庫
4. 將前文提到的docker-compose(貼個url)例子中對應service的“image”改為修改後上傳的官方鏡像庫地址

5. 重新使用“compose”構建,參考 compose構建部署過程(url) 。

當熟練掌握了這些技巧之後,你一個人就是一個開發軍隊。
 
 
底部軟廣時間,5s後自動消失,如不消失,可點擊下方按鈕
Spring Cloud雲框架可通過企業級PaaS平台( 好雨雲幫企業版) ,在生產環境中更好的部署體驗。
(您也可以免費體驗   好雨雲幫單機版)

最後更新:2017-07-14 16:02:42

  上一篇:go  網絡欺騙,教你如何把來犯的黑客玩弄於股掌之間
  下一篇:go  如何在無形中化解黑客對服務器的攻擊