溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微服架構(gòu)的論述

發(fā)布時間:2020-07-28 07:43:00 來源:網(wǎng)絡 閱讀:816 作者:Java_老男孩 欄目:編程語言

搭建微服架構(gòu)

一、什么是微服架構(gòu)

簡單的說就是將一個整體的應用按照一定的規(guī)則拆分成一個個獨立的應用,這些獨立的應用后面又組合成了一個整體的應用。
比如說一個博客系統(tǒng),我可能包含了發(fā)表文章,用戶登錄,用戶評論等功能,如果是一個單一的應用這些功能都會包含在這個應用里面。
而如果是微服架構(gòu) 這些功能可能會包含在 文章服務,用戶服務,評論服務里面。

這是我簡單寫的一個微服例子

微服架構(gòu)的論述

整體實現(xiàn)了發(fā)文章,瀏覽文章。用戶登錄,用戶評論的功能。

分別有 用戶服務,文章服務,評論服務,文件服務組成。

二、微服架構(gòu)遇需要考慮的問題
  • 服務的編排
    我的系統(tǒng)需要怎么要劃分我的服務,一個是按照業(yè)務功能劃分,每個服務只負責單一的業(yè)務。
    服務劃分的太細導致服務偏多,對于維護和開發(fā)都會增加不少難度,劃分的太粗,又可能達不到當初使用微服的預想。所以采用微服架構(gòu)前服務的劃分要詳細考慮。

  • 分布式事物
    由于系統(tǒng)劃分成為了 一個個獨立的系統(tǒng),個個系統(tǒng)之間的采用 REST API方式,本地事物無法使用與夸多個系統(tǒng)的事物。所以分布式事物是微服需要解決的重中之重。一般微服的事物多采用可靠事件處理。后面出再討論。

  • 夸表查詢
    不同的服務,數(shù)據(jù)庫是不共享的,都有獨立的數(shù)據(jù)庫,所以 查詢的時候不能 采用單體架構(gòu) 的 join 等語句與跨表查詢,查詢方面增加了不少難度。

  • 持續(xù)集成與部署
    微服的持續(xù)集成相對于單體應用要復雜的多,應為你有更多的服務需要部署,部署的時候你需要更多的硬件設備。所以微服常常會與docker一起使用,方便集成與服務擴容。

  • 測試
    微服的測試,由于服務的劃分,不僅需要對單獨的服務進行測試還需要對整體的功能進行測試。對測試也提高了一個難度。

  • 微服架構(gòu)的優(yōu)點
    1. 靈活,個個服務相互獨立運行
    2. 可以選擇不同的技術棧,不同的數(shù)據(jù)庫等
    3. 服務之間的解耦,每個服務只關心自己的事情
    4. 便于維護與開發(fā)
    5. 配合docker 更方便的擴容。
三、服務的開發(fā)框架 spring cloud

spring cloud 集成了微服常用的組件,包含了服務的注冊與發(fā)現(xiàn),服務調(diào)用,負載均衡,熔斷,監(jiān)控,配置管理,服務網(wǎng)關等。配合spring 龐大的技術站,spring cloud也漸漸成為了 微服的代名詞。
主要的一些組件:

  • 服務發(fā)現(xiàn)——Netflix Eureka
  • 客服端負載均衡——Netflix Ribbon
  • 斷路器——Netflix Hystrix
  • 服務網(wǎng)關——Netflix Zuul
  • 分布式配置——Spring Cloud Config

文末彩蛋

針對于上面所涉及到的知識點我總結(jié)出了有1到5年開發(fā)經(jīng)驗的程序員在面試中涉及到的絕大部分架構(gòu)面試題及答案做成了文檔和架構(gòu)視頻資料免費分享給大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并發(fā)等架構(gòu)技術資料),希望能幫助到您面試前的復習且找到一個好的工作,也節(jié)省大家在網(wǎng)上搜索資料的時間來學習,也可以關注我一下以后會有更多干貨分享。

資料獲取方式 QQ群搜索“708-701-457” 即可免費領取

微服架構(gòu)的論述
微服架構(gòu)的論述
微服架構(gòu)的論述

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI