Spring Cloud理論知識點

概述

什麼是微服務?

通常而言,微服務架構指的是一種架構模式或者說一種架構風格;它提倡的是將單一應用程序劃分成一組小的服務,每個微服務提供單個業務功能,一個服務做一件事。

  • 每個服務獨立運行於自己的進程,服務之間互相協調、互相配合;
  • 服務之間採用輕量級的通信機制(通常是HTTP資源的API);
  • 每個服務都圍繞具體的業務進行構建,並且能夠被獨立地部署到生成環境;
  • 每個服務獨立管理,可使用不同的語言進行編寫服務,也可以採用不同的數據存儲方式。

微服務的優缺點

優點

  • 符合高內聚、低耦合的程序設計思想,代碼容易聚焦在一個指定的業務功能上;
  • 有利於團隊管理、協助,微服務可被2-5人小團隊獨立開發,獨立管理,再進行團隊與團隊之間的協作;

缺點

  • 分佈式系統的技術性、複雜性要求較高;
  • 部署、運維、管理難度隨着服務的數量增加而增大;
  • 服務間的通訊成本、數據的查詢與一致性

微服務的技術棧有哪些?

  • 服務開發 —— SpringBoot、SpringMVC、Spring
  • 服務配置與管理 —— Netflix公司的Archaius、阿里的Diamond
  • 服務註冊與發現 —— Eureka、Zookeeper
  • 服務調用 —— Rest、RPC、gRPC
  • 服務熔斷器 —— Hystrix、Envoy
  • 負載均衡 —— Ribbon、Nginx
  • 消息隊列 —— Kafka、RabbitMQ、ActiveMQ
  • 服務配置中心管理 —— SpringCloudConfig
  • 服務路由 —— Zuul
  • 服務監控 —— Zabbix、Nagios、Metrics
  • 服務部署 —— Docker、OpenStack
  • 事件消息總線 —— Spring Cloud Bus

Spring Cloud是什麼

Spring Cloud是一個分佈式微服務架構下的一站式解決方案,是各個微服務架構落地技術的集合體,俗稱微服務全家桶。


Spring Boot 和Spring Cloud,談談對他們的理解

  • Spring Boot專注於快速方便的開發單個個體微服務。
  • Spring Cloud則是專注於全局的微服務協調整體治理框架。它是將Spring Boot開發的一個個單體微服務整合並管理起來。

Spring Cloud和Dubbo有那些區別?

活躍度

由於Dubbo再2012年暫停5年直到2017年重新開啓維護期間,Dubbo的社區熱度降低了不少;而Spring Cloud也正是在這期間奠定了很好的基礎,目前社區活躍度,Spring Cloud佔優。

對比

\ Dubbo Spring Cloud
服務註冊中心 ZooKeeper Eureka
服務調用方式 RPC REST API
服務監控 Dubbo-monitor Spring Boot Admin
熔斷器 \ Spring Cloud Netflix Hystrix
服務網關 \ Spring Cloud Netflix Zuul
分佈式配置 \ Spring Cloud Conifg
服務跟蹤 \ Spring Cloud Sleuth
消息總線 \ Spring Cloud Bus
數據流 \ Spring Cloud Stream
批量任務 \ Spring Cloud Task

區別

1 通訊方式

Spring Cloud 選用了REST API作爲服務調用方式,而Dubbo選擇使用RPC;
兩種方式各有優劣,RPC的性能更好,但使用REST則更爲靈活;

2 治理方式

作爲微服務整體的治理方案,Dubbo所提供的治理方式較少,僅提供基本的服務通訊、註冊和監控。額外的網關、配置、跟蹤、熔斷器等都使用其他廠家提供的技術方案。而Spring Cloud則可以提供一整套的技術方案。

簡單理解就是:Dubbo使用的治理方案是自行組裝式,而Spring Cloud爲品牌一站式。

總結

阿里2017繼續維護的Dubbo的技術總負責人劉軍曾表示:Dubbo與Spring Cloud並不是完全的競爭關係,兩者所解決的領域並不一樣;Dubbo的定位始終是一款RPC框架,而Spring Cloud的目標是微服務架構下的一站式解決方案。


爲什麼選用Spring Cloud?

選型依據

  • 整體解決方案和框架的成熟度比較完善
  • 社區熱度較好
  • 可維護性較高
  • 學習曲線持續增長

各大型公司使用的微服務架構

  • 阿里 —— Dubbo/HSF(停更5年)
  • 京東 —— JSF(由HSF改造)
  • 新浪微博 —— Motan
  • 噹噹網 —— DubboX

各微服務框架對比

在這裏插入圖片描述在這裏插入圖片描述


Spring Cloud 學習

官網:https://spring.io/projects/spring-cloud

中文文檔:https://www.springcloud.cc/spring-cloud-dalston.html

Spring Cloud中國社區:http://springcloud.cn/

Spring Cloud中文網:https://www.springcloud.cc/


持續更新中…2020.01.04

發佈了48 篇原創文章 · 獲贊 25 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章