當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
微服务SpringCloud
生活随笔
收集整理的這篇文章主要介紹了
微服务SpringCloud
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
特點
- 一系列微小的服務共同組成
- 跑在自己的進程里
- 每個服務為獨立的業務開發
- 獨立部署
- 分布式管理
與單體架構的區別
單體架構特點
- 所有的功能都打包在一個WAR包中
- 基本上沒有外部依賴
- 部署在一個WEB容器中,例如tomcat,jetty
- 共用一個數據庫DB
單體架構的優點
- 容易測試,在本地就可以啟動完整的系統,不需要外部依賴
- 容易部署,直接打成一個WAR包,放到容器下就可以運行
單體架構的缺點
- 開發效率低,所有人員在一個項目開發
- 代碼維護難,新人一來不知道從何下手
- 部署不夠靈活,構件時間長,有任何代碼修改,都需要重新修改
- 穩定性不高,微不足道的小問題都可能掛掉整個系統
- 擴展性不夠,無法滿足高并發情況下的業務需求。有時需要對不同的業務提供分布式的性能需求,可以對某個服務部署更高的性能
微服務架構的基礎框架/組件
服務注冊與發現
服務提供方需要進行注冊,服務調用方從組件中發現目標服務
服務網關
- 連接內外的大門,對外屏蔽后臺實現細節,例如后臺程序的升級對用戶無感知;
- 可以將請求路由到具體的某個微服務;
- 還可以做限流和容錯的功能,因為所有的請求都要經過網關;
- 還可以進行監控與日志
- 對用戶進行控制,比如反爬蟲,認證等。
后端通用服務(也稱中間層服務Middle Tier Service)
啟動時,會將地址信息注冊到注冊中心中
前端服務(也稱邊緣服務Edge Service)
前端服務通過查詢注冊表,發現和調用后端服務。主要是對后端服務做必要的聚合(對多個API調用邏輯進行聚合,從而減少客戶端的請求數,合二為一)與裁剪后,暴露給外部不同的設備。
聚合 舉例:客戶端請求兩個API,其中一個API獲取用戶信息(身高,年齡),另一個API獲取用戶收貨地址。這兩個API都是由后端服務提供的,如果客戶端直接調用就需要調用兩次,這時如果使用前端服務將這兩次調用進行聚合,作為一個API提供出去,這時客戶端只需要調用前端服務的一個接口,就可以了。
裁剪 舉例:根據不同的需求返回不同的數據。例如都是商品詳情的存檔,如果是PC端那么詳情內容豐富,如果是手機端,那么詳情就沒有那么豐富了。
總結
以上是生活随笔為你收集整理的微服务SpringCloud的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: @RequestBody如何使用
- 下一篇: 微服务中为什么需要服务发现?