微服務技術初體驗

微服務——不知不覺中,已經涉入了微服務這個略顯神密的技術體系。前期一直在開發的Python系統,應用Flask開發服務接口,就是一個典型的微服務,而如何實現微服務的管理,則需要一個良好的技術架構去管理,其目的在於實現:

       服務註冊、服務發現、服務路由、服務熔斷管理、服務調用管理以及訪問過濾、配置管理等東東...

近期收集整理部分微服務資料,作爲學習的記錄先行收錄博客之中。之前讀過大半部分的《微服務架構與實現》估計近期可以抽空再次閱讀,將之前不解之處一一化解,同時網上有人推薦網文也先行登記,待認真研讀。

實踐出真知,一項技術需要深入其中,纔可理解與掌握。

以下爲摘錄內容(微服務與雲技術關聯上了,呵呵......):

1、何爲微服務,優勢?

微服務架構是一項在雲中部署應用和服務的新技術。大微服務可以在“自己的程序”中運行,並通過“輕量級設備與HTTP型API進行溝通”。 微服務架構與服務公開是有所區別的,在服務公開中,許多服務都可以被內部獨立進程所限制。如果其中任何一個服務需要增加某種功能,那麼就必須縮小進程範圍。在微服務架構中,只需要在特定的某種服務中增加所需功能,而不影響整體進程的架構。微服務不需要像普通服務那樣成爲一種獨立的功能或者獨立的資源。

微服務作爲一項在雲中部署應用和服務中一項熱門技術,被認爲是未來的方向。通過將應用和服務分解成更小的、鬆散耦合的組件,它們可以更加容易升級和擴展。它的基本思想在於考慮圍繞着業務領域組件來創建應用,這些應用可獨立地進行開發、管理和加速。在分散的組件中使用微服務雲架構和平臺,使部署、管理和服務功能交付變得更加簡單。微服務在業務能力、自動化部署、終端智能以及語言和數據的分散控制等方面有一定的技術優勢。

2、雲平臺微服務相關聯的分佈式服務框架

雲平臺的微服務架構,是一類分佈式服務框架,該框架至今經歷了約四代的進程:

  • 第一代服務框架

代表:Dubbo(Java)、Orleans(.Net)等

特點:和語言綁定緊密

  •  第二代服務框架

代表:Spring Cloud等

現狀:適合混合式開發(例如藉助Steeltoe OSS可以讓ASP.Net Core與Spring Cloud集成),正值當年

  •  第三代服務框架

代表:Service Mesh(服務網格) => 例如Service Fabric、lstio、Linkerd、Conduit等

現狀:在快速發展中,更新迭代比較快

  • 未來主流的服務架構和技術棧

代表:Istio、Kubernetes、docker、Openstack......

基礎的雲平臺爲微服務提供了資源能力(計算、存儲和網絡等),容器作爲最小工作單元被Kubernetes調度和編排,Service Mesh(服務網格)管理微服務的服務通信,最後通過API Gateway向外暴露微服務的業務接口。

Spring Cloud是一個基於Spring Boot實現的雲原生應用開發工具,它爲基於JVM的雲原生應用開發中涉及的配置管理、服務發現、熔斷器、智能路由、微代理、控制總線、分佈式會話和集羣狀態管理等操作提供了一種簡單的開發方式。

3、Spring Cloud架構特點

  • 約定大於配置
  • 適用於各種環境
  • 隱藏了組件的複雜性,並提供聲明式、無XML式的配置方式
  • 開箱即用,快速啓動
  • 組件豐富,功能齊全

Spring Cloud作爲第二代微服務的代表性框架,已經在國內衆多大中小型的公司有實際應用案例。

  •  

4、Spring Cloud核心子項目

Spring Cloud Netflix:核心組件,可以對多個Netflix OSS開源套件進行整合,包括以下幾個組件:

Eureka:服務治理組件,包含服務註冊與發現

Hystrix:容錯管理組件,實現了熔斷器

Ribbon:客戶端負載均衡的服務調用組件

Feign:基於Ribbon和Hystrix的聲明式服務調用組件

Zuul:網關組件,提供智能路由、訪問過濾等功能

Archaius:外部化配置組件

Spring Cloud Config:配置管理工具,實現應用配置的外部化存儲,支持客戶端配置信息刷新、加密/解密配置內容等。

Spring Cloud Bus:事件、消息總線,用於傳播集羣中的狀態變化或事件,以及觸發後續的處理

Spring Cloud Security:基於spring security的安全工具包,爲我們的應用程序添加安全控制

Spring Cloud Consul : 封裝了Consul操作,Consul是一個服務發現與配置工具(與Eureka作用類似),與Docker容器可以無縫集成

學習書籍《微服務架構與實踐》、網文:一個可供中小團隊參考的微服務架構技術棧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章