1. 程式人生 > >微服務的特點與功能

微服務的特點與功能

微服務特點

  1. 按照業務來劃分服務,單個服務程式碼量小,業務單一,易於維護。
  2. 每個微服務都有自己獨立的基本元件,例如資料庫、快取等,且執行在獨立的程序中。
  3. 微服務之間的通訊是通過HTTP協議或者訊息元件,且具有容錯能力。
  4. 微服務有一套服務治理的解決方案,服務之間不耦合,可以隨時加入和剔除服務。
  5. 單個微服務能夠叢集化部署,並且有負載均衡的能力
  6. 整個微服務系統應該有一個完整的安全機制,包括使用者驗證、許可權驗證、資源保護等。
  7. 整個微服務系統有鏈路追蹤的能力。
  8. 有一套完整的實時日誌系統。

微服務功能

  1. 服務的註冊和發現
  2. 服務的負載均衡
  3. 服務的容錯
  4. 服務閘道器
  5. 服務配置的統一管理
  6. 鏈路追蹤
  7. 實時日誌

微服務相關概念

  • 服務註冊是指向服務註冊中心註冊一個服務例項,服務提供者將自己的服務資訊(如服務名、IP地址等)告知服務註冊中心。
  • 服務發現是指當服務消費者需要消費另外一個服務時,服務註冊中心能夠告知服務消費者它所要消費服務的例項資訊(如服務名、IP地址等)。通常情況下,一個服務即使服務提供者,也是服務消費者。
  • 服務心跳:通常一個服務例項註冊後,會定時向服務註冊中心提供“心跳”,以表明自己還處於可用的狀態。
  • 負載均衡:服務消費者整合負載均衡元件,該元件會幫助服務消費者獲取服務註冊列表資訊,並每隔一段時間重新重新整理獲取該列表。當服務消費者消費服務時,負載均衡元件獲取服務提供者所有例項的註冊資訊,並通過一定的負載均衡策略(可以自定義配置),選擇一個服務提供者的例項,向該例項進行服務消費,這樣就實現了負載均衡。
  • 熔斷器:在分散式系統中,當用戶的請求處於阻塞狀態,並高併發的場景下,短時間內會導致伺服器的執行緒資源消耗殆盡,最後導致整個系統處於癱瘓的狀態也不就是雪崩效應,分散式系統引進了熔斷器機制。
  • 熔斷器存在的意義:
  1. 將資源進行隔離,如果某個服務裡的某個API接口出現了故障,只會隔離該API介面。不會影響到其他API介面。
  2. 服務降級的功能。當服務處於正常的狀態時,大量的請求在短時間內同時湧入,超過了服務的處理能力,這時熔斷器會被開啟,將服務降級,以免伺服器因負載過高而出現故障。
  3. 自我修復能力。當因某個微小的故障,例如網路服務商的問題,導致網路在短時間內不可用,熔斷器被開啟。
  • 服務閘道器:微服務系統通過將資源以API介面的形式暴露給外界來提供服務。在微服務系統中,API介面資源通常是由服務閘道器(也稱API閘道器)統一暴露,內部服務不直接對外提供API資源的暴露。通常情況下,閘道器層以叢集的形式存在。在服務閘道器層之前,有可能需要加上負載均衡層,通常為Nginx雙機熱備,通過一定的路由策略,將請求轉發到閘道器層。到達閘道器層後,經過一系列的使用者身份驗證、許可權判斷,最終轉發到具體得服務。具體的服務經過一系列的邏輯運算和資料操作,最終將結果返回給使用者。
  • 服務閘道器存在的意義:
  1. 閘道器將所有的API介面資源統一聚合,對統一聚合,對外統一暴露,外界系統呼叫的API介面都是閘道器對外暴露的API介面。
  2. 閘道器可以做一些使用者身份認證、許可權認證,防止非法請求操作API介面,對內部服務起到保護作用。
  3. 閘道器可以實現監控功能,實時日誌輸出,對請求進行記錄。
  4. 閘道器可以用來做流量監控,在高流量的情況下,對服務進行降級。
  5. API介面從內部服務分類出來,方便做測試
  • 服務鏈路追蹤:去跟進一個請求到底有哪些服務參與,參與的順序又是怎樣的,從而使每個請求鏈路清晰可見,出了問題很快就能定位。

相關推薦

服務特點功能

微服務特點 按照業務來劃分服務,單個服務程式碼量小,業務單一,易於維護。 每個微服務都有自己獨立的基本元件,例如資料庫、快取等,且執行在獨立的程序中。 微服務之間的通訊是通過HTTP協議或者訊息元

服務架構實踐及雲原生等相關概念

定時 服務器端 body 內容 開放封閉原則 logs 方法 服務架構 binding 微服務架構與實踐 筆記:《微服務架構與實踐》 王磊 著 一 單塊架構   1 定義:對於這種功能集中、代碼和數據中心化、一個發布包、部署後運行在同一進程的應用程序,我們通常稱之為單塊架構

服務理論實踐(三)-服務架構的基本能力和優缺點

控制臺 並且 提高 str love 速度 ont 寫入 框架 1.微服務架構模式方案 微服務架構采用Scale Cube方法設計應用架構,將應用服務按功能拆分成一組相互協作的服務。每個服務負責一組特定、相關的功能。每個服務可以有自己獨立的數據庫,從而保證與其他服務解耦。

Spring Cloud 服務設計實踐

quic AS PC huang 位置 拓撲 uri 支持 特性 整理微服務設計與實踐歷程,共享給大家。 微服務的描述 The description of microserivce by Martin Fowler : 根據業務模塊劃分服務種類。 每個服務可以獨立部署並

服務架構服務治理

希望 幫助 翻譯 commons 部署 點擊 foundry ons PE Spring Cloud是一個基於Spring Boot實現的雲應用開發工具,它為基於JVM的雲應用開發中涉及的配置管理、服務發現、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和

【EBook】-NO.161.服務.1 -【服務架構實踐】

Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of Mastery:5 Practical Level:5 Desired Goal:5 Arc

10. 服務理論實踐-服務註冊發現

微服務理論與實踐-服務註冊與發現 微服務理論與實踐-服務註冊與發現 1 背景 2 方案 2.1 客戶端服務發現 2.2 客戶端服務發現的優缺點

9. 服務理論實踐-服務架構的基本能力和優缺點

微服務理論與實踐-微服務架構的基本能力和優缺點 微服務理論與實踐-微服務架構的基本能力和優缺點 1 微服務架構模式方案 2 微服務架構的基本能力 2.1 Restful 輕量級通訊的首選方式 2.2 RPC 通訊

spring cloud-之服務cap分散式事務

最近把我所做的一個專案改成分散式的,把幾個元件都跑了一篇,對於分散式算是有了初步的瞭解。發現很多部落格都是在用十分簡單的hello world來做例子,的確這對於學習是比較不錯的,但是太不實用了。例如在我的這個專案(貴金屬遞延交易系統(聯合工行、中行、建行舉辦的一個貴金屬交易大賽的系

服務架構實踐 學習筆記(1)

參考:微服務架構與實踐 第二章 微服務架構的“微”應該遵循的兩個基本前提: 業務獨立性。應該保證微服務是具有業務獨立性的單元,並不能只是為了微而微。可以將某一領域的模型作為獨立的業務單元,譬如訂單、產品、合同等,也可以將某業務行為作為獨立的業務單元,譬如傳送郵件、單點登入

Spring Cloud實戰(一):服務註冊服務發現

沒有Spring Cloud,Spring Boot的實用性要大打折扣。 單個微服務雖然開發簡單、維護方便,但是沒有協作功能的微服務,其實在企業裡並沒有顯著的競爭力,跟NodeJS比起來,JAVA開發微服務並沒有多大的優勢。 但是有了Spring Cloud,將多個微

Android短視訊開發一定要分析的特點功能

短視訊APP已經是所有手機使用者的“老朋友”了,它的威力幾乎可以說是無人不知無人不曉,這種熱度甚至影響到了Android短視訊開發的熱度。但可能很少有人系統地分析過,他的個性特點是什麼,都有什麼核心功能。 一、短視訊APP的個性特點: 1. 短視訊時長短衝擊力大,很少的時間就能看完一篇視訊 3.

服務架構持續交付關係

    本文主要參考《微服務架構與實踐》(王磊,博文視點,2016.1),架構師必看:微服務架構綜述 - 帳前卒 專欄 - CSDN部落格 https://blog.csdn.net/cctt_1/article/details/78344253,https://www.ji

服務架構SOA架構的區別

一、面向服務的架構SOA        面向服務的架構是一種軟體體系結構,應用程式的不同元件通過網路上的通訊協議向其他元件提供服務。通訊可以是簡單的資料傳遞,也可以是兩個或多個服務彼此協調連線。這些獨特的服務執行一些小功能,例如驗證付款、建立使用者帳戶或提供社交登入等。

基於SpringCloud的服務設計實現

Spring Boot是在 2013年推出的新專案,主要用來簡化Spring 開發框架的開發、配置、除錯、部署工作,同時在專案內集成了大量易於使用且實用的基礎框架[[i]]。使用Spring Boot開發專案,可以做到一鍵啟動和部署,整個開發過程得到了很大的簡化。Sp

服務註冊發現 —— eureka

微服務   在微服務系統中,服務的註冊和發現是第一步,常用的有:     Eureka:https://github.com/Netflix/eureka     Zookeeper:https://zookeeper.apache.org/     Consul:https://www.consul

服務註冊發現

目錄 簡介 實現服務註冊元件 設計服務登錄檔資料結構 搭建應用程式框架 定義服務登錄檔介面 使用 ZooKeeper 實現服務註冊 服務註冊模式 實現服務發現元件 搭建應用程式框架 實現服務發現 服務發現優化方

華為FusionStage PaaS平臺技術探祕之服務執行治理框架

一、哪些應用適合用在微服務上? 沒有太標準的說法,主要看應用的實際情況。 1、應用希望使用在雲場景下。 首先這個應用是想用在雲的場景上的。這個是前提。在雲場景上應用會更靈活、更快上線。雲上有它自身的特點,比如雲上系統執行環境是容器或虛機,並不像傳統場景下是物理伺服器。

服務概述SpringCloud

1.1 微服務與微服務架構 業界大牛馬丁.福勒(Martin Fowler) 這樣描述微服務: 論文網址: https://martinfowler.com/articles/microservices.html _ 微服務 強調的是服務的大小,它關注的是某一個點,是具體解決某一個問

服務架構傳統SOA幾個主要區別

一、從服務拆分粒度考慮,微服務體系中的微服務是單一用途的(做一件事,做好它),而在SOA架構中,服務元件大小可以是小型應用程式服務,也可以是大型的企業應用服務。在很多使用SOA架構的系統中,粒度很大,單