第五階段10.23

spring cloud介紹

spring cloud 是一系列框架的集合。它利用 spring boot 的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,均可以用 spring boot 的開發風格作到一鍵啓動和部署。spring cloud 並無重複製造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,經過 spring boot 風格進行再封裝屏蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分佈式系統開發工具包。spring

spring cloud 對於中小型互聯網公司來講是一種福音,由於這類公司每每沒有實力或者沒有足夠的資金投入去開發本身的分佈式系統基礎設施,使用 spring cloud 一站式解決方案能在從容應對業務發展的同時大大減小開發成本。同時,隨着近幾年微服務架構和 docker 容器概念的火爆,也會讓 spring cloud 在將來愈來愈「雲」化的軟件開發風格中立有一席之地,尤爲是在目前五花八門的分佈式解決方案中提供了標準化的、一站式的技術方案,意義可能會堪比當年 servlet 規範的誕生,有效推動服務端軟件系統技術水平的進步。docker

spring cloud技術組成

image.png

  • eureka
    微服務治理,服務註冊和發現
  • ribbon
    負載均衡、請求重試
  • hystrix
    斷路器,服務降級、熔斷
  • feign
    ribbon + hystrix 集成,並提供聲明式客戶端
  • hystrix dashboard 和 turbine
    hystrix 數據監控
  • zuul
    API 網關,提供微服務的統一入口,並提供統一的權限驗證
  • config
    配置中心
  • bus
    消息總線, 配置刷新
  • sleuth+zipkin
    鏈路跟蹤
Spring Cloud 對比 Dubbo

image.png

  • Dubbo服務器

    • Dubbo只是一個遠程調用(RPC)框架
    • 默認基於長鏈接,支持多種序列化格式
  • Spring Cloud架構

    • 框架集
    • 提供了一整套微服務解決方案(全家桶)
    • 基於http調用, Rest API
application.yml文件

向註冊中心註冊的服務名
sping:
application:app

name: item-service

server:
port: 8001負載均衡

eureka:
server:框架

enable-self-presevation: false  #1.保護模式

instance:
hostname: eureka1 ##2.集羣服務器間用主機名區分
client:
#3.單臺服務器。不向本身註冊 不從本身拉取
register-with-eureka: false
fetch-registry: false分佈式

Spring MVC 接收參數的幾個註解

image.png

相關文章
相關標籤/搜索