SpringCloud學習1 基本概念

2022-07-01 01:30:12 字數 2286 閱讀 9844

摘抄自網路

單個輕量級服務一般為乙個單獨微服務,微服務講究的是 專注某個功能的實現,比如登入系統只專注於使用者登入方面功能的實現,講究的是職責單一,開箱即用,可以獨立執行。微服務架構系統是乙個分布式的系統,按照業務進行劃分服務單元模組,解決單個系統的不足,滿足越來越複雜的業務需求

馬丁福勒(martin fowler):就目前而言,對於微服務業界並沒有乙個統一的、標準的定義。但通常而言,微服務架構是一種架構模式或者說是架構風格,它提倡將單一應用程式劃分成一組小的服務。每個服務執行在其獨立的自己的程序中服務之間相互配合、相互協調,為使用者提供最終價值。服務之間採用輕量級通訊。每個服務都圍繞具體業務進行構建,並能夠獨立部署到生產環境等。另外應盡量避免統一的、集中的服務管理機制。

自己的理解

將以前的一站式服務,解耦成乙個個服務,每個服務去做一件事情,然後我們就可以進行組合啊各種操作,就像上面寫的一樣,甚至各個服務的程式語言都可以不同,只要提供我們所需要的能力即可.

基於這種架構思想,為了能成功的執行這一套體系,有了微服務的各種框架.

服務於這個架構理念,解決其中的通訊、容災等問題的解決方案.

(1)微服務更容易聚焦在特定的業務上。

(2)微服務可以由小團隊獨立開發

(3)微服務是松耦合的,可以獨立部署

(4)可以使用不同的語言開發

(5)單個應用的業務更容易被理解,修改,小團隊更容易關注自己的工作成果,無須合作而體現價值。

(6)更容易使用新技術

(7)微服務只是業務邏輯的**,不會與html/css或其他介面混合。

(1)前期架構需要更多的工作量。

(2)與運維需要更多的交流

(3)帶來更多的技術難點

(4)分布式的架構維護難度更高。

(5)問題跟蹤更難

(6)隨著服務的增加,管理的成本增加

服務網格:server mesh、istio

1.api

2.通訊問題:http、rpc

3.註冊與發現

4.熔斷機制

網路不可靠,資訊可能會丟失.

如果網路可靠,那只要最開始配置好了,設定好各個服務之間的通訊關係,以後就不用管了,也不會考慮服務掛掉之類的問題.

就是因為情況太多變了,一切都可能存在著變化,由此才產生了上面的4個核心問題.

功能點/服務框架

netflix/springcloud

motan

grpc

thrift

dubbo/dubbox

功能定位

完整的微服務框架

rpc框架,但整合了zk或consul,實現集群環境的基本服務註冊/發現

rpc框架

rpc框架

服務框架

支援rest

是,ribbon支援多種可插拔的序列化選擇否否

否否支援rpc

否是(hession2)是是

是支援多語言

是(rest形式)?否是

是否負載均衡

是(服務端zuul+客戶端ribbon),zuul-服務,動態路由,雲端負載均衡eureka(針對中間層伺服器)

是(客戶端)否否

是(客戶端)

配置服務

netfix archaius,spring cloud config server集中配置

是(zookeeper提供)否否

否服務呼叫鏈監控

是(zuul),zuul提供邊緣服務,api閘道器否否

否否高可用/容錯

是(服務端hystrix+客戶端ribbon)

是(客戶端)否否

是(客戶端)

典型應用案例

netflix

sina

google

facebook

社群活躍程度高一般

高一般2023年後重新開始維護,之前中斷了5年

學習難度中等低

高高低文件豐富程度高一般

一般一般高其他

spring cloud bus為我們的應用程式帶來了更多管理端點

支援降級

netflix內部在開發整合grpc

idl定義

實踐的公司比較多

spring cloud學習筆記(1)

springcloud 分為幾個大的模組,包括服務 註冊 消費 配置等。spring cloud config 配置管理開發工具包,可以讓你把配置放到遠端伺服器,目前支援本地儲存 git以及subversion。enableconfigserver 就是把相關配置檔案.properties yml等...

學習SpringCloud(1)簡介

spring cloud是一系列框架的有序集合。它利用spring boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現註冊 配置中心 訊息匯流排 負載均衡 斷路器 資料監控等,都可以用spring boot的開發風格做到一鍵啟動和部署。spring cloud並沒有重複製造輪子,它...

Vue 學習 StudyLearning 1 基礎

html 1 對應js vue data中的資料 2 這種形式會覆蓋原有 html 中的內容 3 html的屬性展示 4 vue的 內部支援 原生js的語法 5 邏輯 令是帶有 v 字首的特殊屬性。指令用於在表示式的值改變時,將某些行為應用到 dom 上 現在你看到我了 6 引數在指令後以冒號指明。...