深刻理解Spring Cloud與微服務構建【一】 - 1.4 微服務的設計原則與Spring Cloud簡介

微服務的設計原則

軟件設計每個版本都在變化,因此軟件設計應該是漸進式發展。 軟件從一開始就不該該被設計成微服務架構,微服務架構當然有優點,可是它須要更多的資源,包括服務器資源、技術人員等。追求大公司所帶來的技術解決方案,刻意地追求某個新技術,企圖使用技術解決所 有的問題,這些都是軟件設計的誤區。服務器

  • 在微服務架構中,有三大難題,那就是服務故障的傳播性、服務的劃分和分佈式事務。在 微服務設計時, 必定要考慮清楚這三個難題,從而選擇合適的框架。目前比較流行的微服務框 架有 Spring 社區的 Spring Cloud、Google 公司的 Kubemetes 等。無論使用哪種框架或者工具, 都須要考慮這三大難題。 爲了解決服務故障的傳播性, 通常的微服務框架都有熔斷機制組件。 另外,服務的劃分沒有具體的劃分方法, 通常來講根據業務來劃分服務, 領域驅動設計具備指 導做用 。 最後,分佈式事務通常的解決辦法就是兩階段提交或者三階段提交,無論使用哪種 都存在事務失敗,致使數據不一致的狀況,關鍵時刻還得人工去恢復數據。總之,微服務的設 計必定是漸進式的,而且是隨着業務的發展而發展的。

Spring Cloud簡介

  • Spring Cloud 做爲 Java 語言的微服務框架,它依賴於 Spring Boot,有快速開發、持續交付和 容易部署等特色。 Spring Cloud 的組件很是多,涉及微服務的方方面面,井在開源社區 Spring 和 Netflix、 Pivotal 兩大公司的推進下愈來愈完善。本章主要介紹 Spring Cloud,將從如下方面來說解。

微服務應該具有的功能。架構

  1. Spring Cloud 介紹。
  2. Dubbo 介紹。
  3. Kubemetes 介紹。
  4. Spring Cloud 與 Dubbo 比較。
  5. Spring Cloud 與 Kubemetes 比較。
相關文章
相關標籤/搜索