最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Java 微服務(wù)架構(gòu)

 更新時(shí)間:2021年02月02日 10:44:48   作者:程序員曾曾  
這篇文章主要介紹了Java 微服務(wù)架構(gòu)的相關(guān)資料,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下

一、傳統(tǒng)的整體式架構(gòu)

傳統(tǒng)的整體式架構(gòu)都是模塊化的設(shè)計(jì)邏輯,如展示(Views)、應(yīng)用程序邏輯(Controller)、業(yè)務(wù)邏輯(Service)和數(shù)據(jù)訪問對(duì)象(Dao),程序在編寫完成后被打包部署為一個(gè)具體的應(yīng)用。如圖所示:

系統(tǒng)的水平擴(kuò)展

如果要對(duì)系統(tǒng)進(jìn)行水平擴(kuò)展,通常情況下,只需要增加服務(wù)器的數(shù)量,并將打包好的應(yīng)用拷貝到不同的服務(wù)器,然后通過負(fù)載均衡器(Nginx)就可以輕松實(shí)現(xiàn)應(yīng)用的水平擴(kuò)展。

整體式架構(gòu)的缺點(diǎn)

  • 應(yīng)用復(fù)雜度增加,更新、維護(hù)困難。
  • 易造成系統(tǒng)資源浪費(fèi)。
  • 影響開發(fā)效率。
  • 應(yīng)用可靠性低。
  • 不利于技術(shù)更新。

二、面向服務(wù)的架構(gòu)SOA(Service-Oriented Architecture)

SOA的思路是把應(yīng)用中相近的功能聚合在一起,以服務(wù)的形式提供出去。如圖所示:

缺點(diǎn)

雖然SOA解決了整體式架構(gòu)中的問題,但多數(shù)情況下,SOA中相互獨(dú)立的服務(wù)仍然會(huì)部署在同一個(gè)運(yùn)行環(huán)境中。和整體式架構(gòu)類似,隨著業(yè)務(wù)功能的增多,SOA的服務(wù)會(huì)變得越來越復(fù)雜。本質(zhì)上看,整體式架構(gòu)的問題并沒有因?yàn)槭褂肧OA而變得更好。

三、微服務(wù)架構(gòu)

微服務(wù)架構(gòu)是一種架構(gòu)風(fēng)格和架構(gòu)思想,它倡導(dǎo)我們?cè)趥鹘y(tǒng)軟件應(yīng)用架構(gòu)的基礎(chǔ)上,將系統(tǒng)業(yè)務(wù)按照功能拆分為更加細(xì)粒度的服務(wù),所拆分的每一個(gè)服務(wù)都是一個(gè)獨(dú)立的應(yīng)用,這些應(yīng)用對(duì)外提供公共的API,可以獨(dú)立承擔(dān)對(duì)外服務(wù)的職責(zé),通過此種思想方式所開發(fā)的軟件服務(wù)實(shí)體就是“微服務(wù)”,而圍繞著微服務(wù)思想構(gòu)建的一系列結(jié)構(gòu)(包括開發(fā)、測(cè)試、部署等),我們可以將它稱之為“微服務(wù)架構(gòu)”。如圖所示:

缺點(diǎn)

  • 開發(fā)人員必須處理創(chuàng)建分布式系統(tǒng)的復(fù)雜性。
  • 部署的復(fù)雜性。
  • 增加內(nèi)存消耗。

微服務(wù)架構(gòu)與SOA的區(qū)別

四、如何構(gòu)建微服務(wù)架構(gòu)

微服務(wù)架構(gòu)的組件

(1)服務(wù)注冊(cè)中心:注冊(cè)系統(tǒng)中所有服務(wù)的地方。

(2)服務(wù)注冊(cè):服務(wù)提供方將自己調(diào)用地址注冊(cè)到服務(wù)注冊(cè)中心,讓服務(wù)調(diào)用方能夠方便地找到自己。

(3)服務(wù)發(fā)現(xiàn):服務(wù)調(diào)用方從服務(wù)注冊(cè)中心找到自己需要調(diào)用服務(wù)的地址。

(4)負(fù)載均衡:服務(wù)提供方一般以多實(shí)例的形式提供服務(wù),使用負(fù)載均衡能夠讓服務(wù)調(diào)用方連接到合適的服務(wù)節(jié)點(diǎn)。

(5)服務(wù)容錯(cuò):通過斷路器(也稱熔斷器)等一系列的服務(wù)保護(hù)機(jī)制,保證服務(wù)調(diào)用者在調(diào)用異常服務(wù)時(shí)能快速地返回結(jié)果,避免大量的同步等待。

(6)服務(wù)網(wǎng)關(guān):也稱為API網(wǎng)關(guān),是服務(wù)調(diào)用的唯一入口,可以在這個(gè)組件中實(shí)現(xiàn)用戶鑒權(quán)、動(dòng)態(tài)路由、灰度發(fā)布、負(fù)載限流等功能。

(7)分布式配置中心:將本地化的配置信息(properties、yml、yaml等)注冊(cè)到配置中心,實(shí)現(xiàn)程序包在開發(fā)、測(cè)試、生產(chǎn)環(huán)境的無差別性,方便程序包的遷移。

微服務(wù)架構(gòu)的技術(shù)選型

(1)微服務(wù)實(shí)例的開發(fā):SpringBoot

(2)服務(wù)的注冊(cè)與發(fā)現(xiàn):Spring Cloud Eureka

(3)負(fù)載均衡:Spring Cloud Ribbon

(4)服務(wù)容錯(cuò):Spring Cloud Hystrix

(5)API網(wǎng)關(guān):Spring Cloud Zuul

(6)分布式配置中心:Spring Cloud Config

(7)調(diào)試:Swagger

(8)部署:Docker

(9)持續(xù)集成:Jenkins

以上就是詳解Java 微服務(wù)架構(gòu)的詳細(xì)內(nèi)容,更多關(guān)于Java 微服務(wù)架構(gòu)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 一篇文章帶你了解java接口與繼承

    一篇文章帶你了解java接口與繼承

    這篇文章主要介紹了Java接口和繼承操作,結(jié)合具體實(shí)例形式分析了Java接口和繼承與使用的相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2021-08-08
  • java設(shè)計(jì)模式之觀察者模式學(xué)習(xí)

    java設(shè)計(jì)模式之觀察者模式學(xué)習(xí)

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式之觀察者模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • SpringCloud網(wǎng)關(guān)組件zuul實(shí)例解析

    SpringCloud網(wǎng)關(guān)組件zuul實(shí)例解析

    這篇文章主要介紹了SpringCloud網(wǎng)關(guān)組件zuul實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • JVM內(nèi)存增強(qiáng)之逃逸分析

    JVM內(nèi)存增強(qiáng)之逃逸分析

    逃逸分析一種數(shù)據(jù)分析算法,基于此算法可以有效減少Java對(duì)象在堆內(nèi)存中的分配。本文將詳細(xì)講講逃逸分析的原理與實(shí)現(xiàn),需要的可以參考一下
    2022-09-09
  • 聊聊@RequestParam,@PathParam,@PathVariable等注解的區(qū)別

    聊聊@RequestParam,@PathParam,@PathVariable等注解的區(qū)別

    這篇文章主要介紹了聊聊@RequestParam,@PathParam,@PathVariable等注解的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java 實(shí)戰(zhàn)范例之線上新聞平臺(tái)系統(tǒng)的實(shí)現(xiàn)

    Java 實(shí)戰(zhàn)范例之線上新聞平臺(tái)系統(tǒng)的實(shí)現(xiàn)

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+jsp+jdbc+mysql實(shí)現(xiàn)一個(gè)線上新聞平臺(tái)系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • JDBC用IDEA連接SQLServer數(shù)據(jù)庫的超實(shí)用教程

    JDBC用IDEA連接SQLServer數(shù)據(jù)庫的超實(shí)用教程

    JDBC是Java連接數(shù)據(jù)庫的一種接口,它由各個(gè)數(shù)據(jù)庫廠商為開發(fā)者提供的接口,要使用它需要到相應(yīng)廠商下載對(duì)應(yīng)的jar包,下面這篇文章主要給大家介紹了關(guān)于JDBC用IDEA連接SQLServer數(shù)據(jù)庫的超實(shí)用教程,需要的朋友可以參考下
    2023-05-05
  • Java線程池的拒絕策略實(shí)現(xiàn)詳解

    Java線程池的拒絕策略實(shí)現(xiàn)詳解

    這篇文章主要介紹了Java線程池的拒絕策略實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • SpringBoot數(shù)據(jù)訪問的實(shí)現(xiàn)

    SpringBoot數(shù)據(jù)訪問的實(shí)現(xiàn)

    本文主要介紹了SpringBoot數(shù)據(jù)訪問的實(shí)現(xiàn),引入各種xxxTemplate,xxxRepository來簡(jiǎn)化我們對(duì)數(shù)據(jù)訪問層的操作,感興趣的可以了解一下
    2023-11-11
  • Java打印九九乘法表代碼詳情

    Java打印九九乘法表代碼詳情

    這篇文章主要介紹了Java打印九九乘法表,使用了雙重for循環(huán),使用do{}while()實(shí)現(xiàn)打印九九乘法表這些好玩的語法實(shí)現(xiàn),感興趣的小伙伴可參考下面文章內(nèi)容
    2021-09-09

最新評(píng)論

桃江县| 社会| 绥中县| 文山县| 奉贤区| 汝州市| 炉霍县| 七台河市| 资溪县| 马山县| 泌阳县| 平顶山市| 卢湾区| 峨边| 山东| 白水县| 平罗县| 扶风县| 白河县| 龙南县| 永定县| 麻阳| 莎车县| 江门市| 瑞昌市| 柯坪县| 江西省| 简阳市| 商丘市| 社会| 南川市| 桦南县| 綦江县| 怀柔区| 全南县| 阳春市| 浪卡子县| 中江县| 商洛市| 西盟| 乳山市|