SpringCloud-微服務架構
阿新 • • 發佈:2018-10-31
前言
在講springCloud之前講講為什麼要有springCloud,從學習中知道springCloud的興起是因為Dubbo社群五年沒有更新,在計算機這個行業裡面五年沒有進步真的太恐怖了,所以springCloud火熱。雖然現在Dubbo已經開始活躍,但是springCloud絕不會被取代,而是蒸蒸日上,這時候我相信你和一樣,肯定想知道原因。
內容
1.選擇框架的依舊的是什麼?
- 整體的解決方案和框架的成熟度
- 社群的熱度
- 可維護性
- 學習曲線
2.流行的微服務框架有哪些?
- 阿里的dubbo/HSF
- 京東的jsf
- 新浪微博的motan
- 噹噹網的DubboX
3.各個服務框架的比較(表格展現)
功能點 | netflix/SpringCloud | Motan | Grpc | Thrift | Dubbo/Dubbox |
---|---|---|---|---|---|
功能定位 | 完整的微服務框架 | rpc框架,整合了zk和consul,實現了叢集環境的基本服務註冊於發現 | rpc框架 | rpc框架 | 服務框架 |
支援Rest | 是,Ribbon支援多種可插拔的序列換選擇 | 否 | 否 | 否 | 否 |
支援rpc | 否 | 是 | 是 | 是 | 是 |
支援多語言 | 是 | 否 | 是 | 是 | 否 |
負載均衡 | 是(服務端zuul+客戶端的ribbon)zuul-服務動態路由,雲端負載均衡,eureka(針對中間層服務) | 是(客戶端) | 否 | 否 | 是(客戶端) |
配置服務 | Netflix Spring cloudConfig server集中配置 | 是(zookeeper提供) | 否 | 否 | 否 |
服務呼叫鏈監控 | 是(zuul)zuul提供邊緣服務,api閘道器 | 否 | 否 | 否 | 否 |
高可用、容錯 | 是(服務端htrix+客戶端ribbon) | 是(客戶端) | 否 | 否 | 是(客戶端) |
典型應用案例 | Netflix | Sina | |||
社群活躍程度 | 高 | 一般 | 高 | 一般 | 一般 |
學習難度 | 中等 | 低 | 高 | 高 | 低 |
文件豐富度 | 高 | 一般 | 一般 | 一般 | 高 |
其他 | Spring Cloud Bus為我們的應用程式帶來更多的管理端點 | 支援降級 | Netflix內部在開發整合grpc | IDL定義 | 實踐的公司比較多 |
4.springCloud是微服務的架構,那什麼是微服務?
微服務:強調服務的大小 ,關注某一個點,是具體解決某一個問題或提供對應服務的一個服務應用。
什麼是微服務架構?
微服務架構沒有統一的,標準的定義。微服務架構師一種架構模式或是一種架構風格,它提倡將單一應用程式分成一組小的服務,每一個服務執行在獨立的進行中,服務之間專案協調,相互配合,為使用者提供最終價值。服務之間採用了輕量級的通訊機制互相溝通。每個服務都圍繞著具體業務進行構建,並且能夠被獨立部署到生產環境、類生產環境等。另外,應該儘量避免統一的,集中式的服務管理機制,對具體的一個服務而言,應根據上下文,選擇合適的語言,工具對其進行構建,可以有一個非常輕量級的集中式管理協調這些服務,可以使用不同的語言來編寫服務,也可以使用不同的資料庫儲存(config)
什麼是微服務化?
微服務化的核心是傳統的一戰式應用。