1. 程式人生 > >SpringCloud-微服務架構

SpringCloud-微服務架構

前言

在講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 Google Facebook
社群活躍程度 一般 一般 一般
學習難度 中等
文件豐富度 一般 一般 一般
其他 Spring Cloud Bus為我們的應用程式帶來更多的管理端點 支援降級 Netflix內部在開發整合grpc IDL定義 實踐的公司比較多

4.springCloud是微服務的架構,那什麼是微服務?
微服務:強調服務的大小 ,關注某一個點,是具體解決某一個問題或提供對應服務的一個服務應用。
什麼是微服務架構?
微服務架構沒有統一的,標準的定義。微服務架構師一種架構模式或是一種架構風格,它提倡將單一應用程式分成一組小的服務,每一個服務執行在獨立的進行中,服務之間專案協調,相互配合,為使用者提供最終價值。服務之間採用了輕量級的通訊機制互相溝通。每個服務都圍繞著具體業務進行構建,並且能夠被獨立部署到生產環境、類生產環境等。另外,應該儘量避免統一的,集中式的服務管理機制,對具體的一個服務而言,應根據上下文,選擇合適的語言,工具對其進行構建,可以有一個非常輕量級的集中式管理協調這些服務,可以使用不同的語言來編寫服務,也可以使用不同的資料庫儲存(config)
什麼是微服務化?
微服務化的核心是傳統的一戰式應用。