簡單了解微服務

2022-06-13 08:03:10 字數 877 閱讀 7320

獨立開發 – 所有微服務都可以根據各自的功能輕鬆開發

獨立部署 – 基於其服務,可以在任何應用程式中單獨部署它們

故障隔離 – 即使應用程式的一項服務不起作用,系統仍可繼續執行

混合技術堆疊 – 可以使用不同的語言和技術來構建同一應用程式的不同服務

在微服務中首先需要面對的問題就是不同的服務之間如何進行通訊呢?在單體服務中如果不同的服務之間需要通訊,一般就是服務將介面暴露,然後其他的服務通過http進行請求,那麼很明顯在微服務中也可以這樣。

但這裡存在的問題在於單體服務中我們需要請求的目標是我們在請求的url中直接寫死的,因為服務不多可以這樣。而微服務中需要考慮的是存在大量服務時手動維護服務列表是否合適?如果服務橫向擴充套件時如何通知其他的服務?服務宕機後,如何及時下線等等問題

在微服務體系中,服務的數量以及配置資訊的日益增多,比如各種伺服器引數配置、各種資料庫訪問引數配置、各種環境下配置資訊的不同、配置資訊修改之後實時生效等等,傳統的配置檔案方式或者將配置資訊存放於資料庫中的方式已無法滿足開發人員對配置管理的要求,如:

安全性:配置跟隨源**儲存在**庫中,容易造成配置洩漏

時效性:修改配置,需要重啟服務才能生效

侷限性:無法支援動態調整:例如日誌開關、功能開關

namespace(命名空間)方案

通過命名空間實現環境區分

dataid方案

通過指定spring.profile.active和配置檔案的dataid,來使不同環境下讀取不同的配置,讀取配置時,使用的是預設命名空間public,預設分組(default_group)下的dataid。 預設情況,namespace=public,group=default group,預設cluster是default

group方案

通過group實現環境區分

3 1 了解微服務

了解微服務 微服務就是一些協同工作的小而自治的服務 sam newman 微服務的優點 易於部署 與組織架構對其 可組合性 可替代性 異構性 語言 儲存.彈性 乙個元件不可用,不會導致級聯故障 拓展 單體服務不易拓展,多個較小的服務可以按需拓展 實施微服務的代價 分布式系統的複雜性 開發 測試 等諸...

初步了解微服務 JAVA

什麼是微服務?微服務可以說是一種架構思想,這種架構思想簡單來說就是將單體應用拆分解耦,實現高內聚低耦合。什麼是高內聚低耦合呢?通俗地說就是,乙個類只做一種事,乙個方法只做一件事。我們來 一下傳統架構 傳統架構 通俗地說就是將所有的的 頁面寫在一起,沒有分層和模組的概念 all in one 優點就是...

簡單微服務的搭建

consul.exe agent devconsul預設埠是8500,開啟localhost 8500就可以看到已經啟動了consul。應用註冊到consul,實現服務註冊發現及健康檢查。1.引用consul的nuget包,建立管道擴充套件,單例注入consulclient。擴充套件方法 健康檢查 ...