1. 程式人生 > >29.淺談微服務的架構設計

29.淺談微服務的架構設計

現在很多人都在談微服務,那麼到底什麼是微服務呢?這裡談談我對微服務的理解。

微服務有兩個核心:

·        微:服務的粒度要細,即服務要細化到API

·        服務:提供好服務,要讓使用者感到好用(要做到這一點很不容易)

上面兩個核心總結起來,可以用下面這幅圖表示:

從上面這幅圖看出,微服務特別簡單(好的架構就應該簡單),我們把服務再拆分成一個個API,API是一個完整的功能。然後我們把API扔到一個“雲上”,然後使用者就可以到“雲上”獲取所有API的服務,這個“雲”保證能提供好的服務。

我們可以看到,有了微服務之後,服務對使用者來說變得特別簡單,而且上面dubbo的不足之處在微服務這裡都解決了。使用者不再需要依賴任何

jar包,不再需要去註冊中心查詢服務,不再去做鑑權處理,不用擔心服務掛掉,不用擔心不會使用服務,所有的問題這個都解決了。這也是微服務的核心之一,提供好服務。

說到這裡,大家就應該大體知道該怎麼做微服務了,圖中的是關鍵。下面我們就慢慢撥開這朵雲。

微服務的實現

微服務的關鍵是服務閘道器,所以,上面提到的“雲”就是服務閘道器。要做微服務,我們先定義一下微服務需要具備的特點。

微服務的特點

服務需要再細化成API(服務介面——>服務API)

·        每個服務由一組API組成

·        API形式對外提供統一格式的服務

·        使用者無需任何配置,直接呼叫(http

·        

完整的API文件

·        API服務安全可靠穩定

微服務要解決的問題

上面提到了,dubbo還存在一些問題 ,其實dubbo存在的問題 就是 微服務要解決的問題,這裡 再總結一下。當然,dubbo和微服務的側重點不一樣,dubbo側重於內部介面之間的RPC,而微服務則側重於對外提供服務。

·        統一入口

·        安全控制:防刷限流

·        統一鑑權:應用鑑權、使用者鑑權、OAuth鑑權、ACL

·        協議轉換:httpdubboProtobuf

·        API配置管理

·        API上線、下線

·        API與服務介面對映

·        

監控與報警

·        整體架構的可拓展、高併發、分散式

·        服務容器自動收縮、擴容

實現方案

·        負載均衡層:nginx/lvs/F5

·        微服務層

·        高效能服務閘道器

·        統一入口、API配置管理、分流鑑權、服務監控、協議轉換

·        API對映、OAuth2.0API文件管理

·        分散式、可拓展

·        服務治理層

·        成熟的服務治理框架dubbo

·        MQ服務之間解耦

·        彈性雲

·        服務docker

·        基於訪問壓力的實時叢集排程與管理

彈性雲

這裡簡單介紹一下彈性雲的概念,微服務要想提供好服務,保證API不能掛掉並且有好的效能,需要很高的運維要求。這裡的彈性雲便是自動化運維解決方案,對訪問壓力進行監控,根據監控解決排程應用的釋出和回收。

相關推薦

29.服務架構設計

現在很多人都在談微服務,那麼到底什麼是微服務呢?這裡談談我對微服務的理解。微服務有兩個核心:·        微:服務的粒度要細,即服務要細化到API·        服務:提供好服務,要讓使用者感到好用(要做到這一點很不容易)上面兩個核心總結起來,可以用下面這幅圖表示:從上

服務架構、容器技術與K8S

  關注嘉為科技,獲取運維新知   企業應用系統:從單體應用走向微服務架構;從裸金屬走向容器。   如果在諸多熱門雲端計算技術諸如容器、微服務、DevOps、OpenStack等之中,找出一個最火的方向,那麼可能非微服務莫屬。儘管話題炙手可熱,但對傳統行業來說,微服

服務架構中的鑑權體系

文章概要 在微服務架構中,有一個核心的問題是處理好“集權”(中心化)和“放權”(去中心化)的關係。雖然微服務的主旋律是把資料和業務拆成小而獨立的模組,但我們仍然需要一個強力的中央安保體系來確保“資料分散,許可權集中”。這一篇就談談微服務架構中的鑑權體系。 身份認證 身份認證(Auth

服務架構服務治理的Eureka和Dubbo

前言         本來計劃週五+週末三天自駕遊,誰知人算不如天算,週六恰逢颱風來襲,湖州附近的景點全部關停,不得已只能週五玩完之後,於週六踩著颱風的邊緣逃回上海。週末過得如此艱難,這次就聊點務虛的話題,一是淺談微服務的架構設計,二是聊聊微服務中廣泛用於服務治理的Eu

服務架構與.Net Core

微服務(microservice)這個概念是2012年出現的,2014年3月Martin Fowler在他的個人網站(https://martinfowler.com/articles/microservices.html)中是這樣說到的: The term "Microservice Architectu

服務體系中的分層設計和領域劃分

1.摘要 本文闡述了一種將分層設計和DDD領域設計應用於微服務體系架構的方案實踐,也是個人的最佳實踐。對於網際網路公司來說,我們主張將其Web服務架構分為五層:基礎設施層、領域服務層、應用服務層、閘道器層和使用者介面層(表示層)。領域服務層和應用服務層均可以採用

服務架構設計

自己 積累 static 工具 緩沖 正是 rod 最適 適合 微服務 軟件架構是一個包含各種組織的系統組織,這些組件包括 Web服務器, 應用服務器, 數據庫,存儲, 通訊層), 它們彼此或和環境存在關系。系統架構的目標是解決利益相關者的關註點。 C

Java架構師,服務架構設計,並發編程,java8新特性,P2P金融項目,高並發,分布式

環境 span acc 要掌握 system 精益 app 擴展 ant 微服務架構設計 微服務 軟件架構是一個包含各種組織的系統組織,這些組件包括 Web服務器, 應用服務器, 數據庫,存儲, 通訊層), 它們彼此或和環境存在關系。系統架構的目標是解決利益

你必須了解的服務架構設計的10個要點!

haproxy 能力 自己的 51cto 需求 均衡 互訪 人人 根據 近來,幾乎人人都在談論微服務。微服務之所以火熱也是因為相對之前的應用開發方式有很多優點,如更靈活、更能適應現在需求快速變更的大環境等。本文將介紹微服務架構設計中的一些要點。 微服務架構設計時有哪些要點呢

服務架構設計綱要

微服務        軟體架構是一個包含各種組織的系統組織,這些元件包括 Web伺服器, 應用伺服器, 資料庫,儲存, 通訊層), 它們彼此或和環境存在關係。系統架構的目標是解決利益相關者的關注點。 Conwa

服務架構設計基礎之領域驅動設計

背景 微服務現在可以說是軟體研發領域無人不提的話題,然而業界流行的對比多數都是所謂的Monolithic(單體應用),而大量的系統在十幾年前都已經是以SOA(面向服務架構)為基礎的分散式系統了,那麼微服務作為新的架構標準與SOA有什麼差異點呢?其本質區別在於設計原理,微服務是去中心化設計,SOA是「整合」形成

服務架構設計基礎之立方體模型

背景 對於現在的微服務架構的應用來說,對大量併發的及時響應是一項制勝能力。據使用者行為分析平臺統計,隨行付的某一款APP產品每日請求就達到上千萬次使用者請求、加解密服務3000萬次/日等等。這些微服務每時每刻在處理如此高強度的請求,對資料層的應對能力要求極高。如果我們把對速度的需求放在複雜的分散式資料架構背

服務架構

原文地址:http://geek.csdn.net/news/detail/234078 這篇文章介紹的很詳細,把一些不重要文字刪減後整理如下,感謝原文作者! 一、微服務架構是什麼? 1,架構演進過程 話說天下大勢,分久必合,合久必分,對於架構演進過程而言,也符合

Java高併發高效能分散式框架從無到有服務架構設計

微服務架構模式(Microservice Architect Pattern)。近兩年在服務的瘋狂增長與雲端計算技術的進步,讓微服務架構受到重點關注 微服務架構是一種架構模式,它提倡將單一應用程式劃分成一組小的服務,服務之間互相協調、互相配合,為使用者提供最終價值。每個服務執行在其獨立的程序中,

服務架構元素卡; 15 分鐘內搞定服務架構設計

Cloud-Native 微服務架構設計不應該是一個講求標準答案, 簡單粗暴的設計過程。而應該是一個考量各方因素下的一個“決策的過程”。 但是, 這種決策的過程, 是不大容易就能 “高效” 的做得到位的。 主要的原因是: 微服務太複雜了… 每個版本會有數

服務架構設計 第五步: 服務的 User Stories 的拆分與澄清

2016.9.11, 深圳, Ken Fang 特性負責人與架構師, 開發骨幹人員, 測試經理, 資深測試人員, 經由協作, 完成了: 1.  微服務邊界上下文 (Bounded Context) 的界定。 2.  微服務架構設計; 架構方案的選定。 3.  微服務架構上

服務基建的邏輯

這篇文章主要目的是面向初接觸微服務的朋友簡單介紹微服務基礎建設所需要的各個模組以及緣由。 起點 首先,我們得有一個“服務”。根據定義,我們可以把每個服務例項都視作一個黑盒。這個盒子有著明確的輸入點和輸出點,並且(理想情況下)僅通過這些輸入和輸出點和外界產生關聯。每個服務例項會擁有專屬的網路地址、獨立的計算資

iOS開發之MVVM的架構設計與團隊協作

1 // 2 // NetRequestClass.m 3 // MVVMTest 4 // 5 // Created by 李澤魯 on 15/1/6. 6 // Copyright (c) 2015年 李澤魯. All rights reserved. 7

服務服務基建的邏輯

這篇文章主要目的是面向初接觸微服務的朋友簡單介紹微服務基礎建設所需要的各個模組以及緣由。 起點 首先,我們得有一個“服務”。根據定義,我們可以把每個服務例項都視作一個黑盒。這個盒子有著明確的輸入點和輸出點,並且(理想情況下)僅通過這些輸入和輸出點和外界產生關聯。每個服

Java高併發、分散式框架,從無到有服務架構設計

微服務架構模式(Microservice Architect Pattern)。近兩年在服務的瘋狂增長與雲端計算技術的進步,讓微服務架構受到重點關注微服務架構是一種架構模式,它提倡將單一應用程式劃分成一組小的服務,服務之間互相協調、互相配合,為使用者提供最終價值。每個服務執行