• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • SpringCloud學習筆記01

    標簽: java  微服務  SpringCloud

    1.什么是微服務?

    從官方博文了解(馬丁·福勒)

    通常而言,微服務架構是一種架構模式或者說是一種架構風格,它提倡將單一應用程序劃分成一組小的服務,每個服務運行在其獨立的進程中,服務之間相互協調,互相配合,為用戶提供最終價值。服務之間采用輕量級的通信機制互相溝通(通常是基于HTTP的RESTfull API)。每個服務都圍繞著具體業務進行構建,并且能夠被獨立的部署到生產環境,類生產環境等。另外,應盡量避免統一的,集中式的服務管理機制,對具體的一個服務而言,應根據業務上下文,選擇合適的語言,工具對其進行構建,可以有一個非常輕量級的集中式管理來協調這些服務,可以使用不同的語言來編寫服務,也可以使用不同的數據存儲。

    馬丁福勒blog原文
    注:dubbo的通信機制是基于RPC,cloud是基于HTTP的RESTfull API

    從技術維度了解

    微服務化的核心就是將傳統的一站式應用,根據業務拆分成一個一個的服務,徹底的去耦合,每一個微服務提供單個業務功能的服務,一個服務做一件事,從技術角度來講就是一種小而獨立的處理過程,類似進程概念,能夠自行單獨啟動或銷毀,擁有自己獨立的數據庫。

    • 傳統的單機架構體系(All In One)
      以eclipse來說 ,我們可以看作里面有一個大工程,作者稱這種架構為:巨石。
      主要模塊有:商品/訂單/交易/庫存。
      單體架構的不足:

        - war包之間相互依賴,牽一發而動全身。
        - 隨著版本更新的迭代,維護成本變高,代碼可讀性大大降低。
        - 開發人員分工不明確。
      

      傳統架構體系圖

    • 微服務架構

    微服務架構的優勢:

    	 - 各個模塊/服務,各自獨立開來,分灶吃飯
    	 - 各自微小的一個進程,讓專業的人負責專業的模塊,來做專業的事情。
    	 - 獨立部署,各個服務之間利用RESTfull API來相互調用。
    	 - 微服務系統是分布式系統,業務與業務之間完全解耦,隨著業務的增加可以根據業務再拆分,具有極強的橫向擴展能力。
    	   面對搞并發的場景可以將服務集群化部署,加強系統負載能力。
    

    分布式架構體系圖

    當然分布式架構對數據存儲也做了決策,除了關于概念模型的分散決策之外,微服務還分散了數據存儲決策。雖然單一應用程序更喜歡使用單個邏輯數據庫來存儲持久性數據,但企業通常更喜歡在一系列應用程序中使用單個數據庫 - 其中許多決策是通過供應商圍繞許可的商業模型來實現的。微服務更喜歡讓每個服務管理自己的數據庫,可以是同一數據庫技術的不同實例,也可以是完全不同的數據庫系統 - 這種方法稱為Polyglot Persistence。您可以在整體中使用多語言持久性,但它在微服務中更常出現。
    左圖為單一架構存儲,右圖為微服務架構存儲

    版權聲明:本文為weixin_42189489原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_42189489/article/details/97667264

    智能推薦

    SpringCloud學習筆記

    目錄 1.SpringCloud 簡介 1.1.什么是 SpringCloud 1.2.SpringCloud 與 SpringBoot 的關系 1.3.SpringCloud 主要框架 1.4.SpringCloud 與 Dubbo 對比 1.5.說說 SpringCloud 的版本 2.服務發現組件 Eureka 2.1.Eureka簡介 2.2.Eureka服務端開發 1)搭建Eureka服...

    SpringCloud 學習筆記

    SpringCloud 這個階段該如何學 帶著問題走進微服務 1.1 什么是微服務? 1.2 微服務之間如何進行通訊? ? 使用http或者rpc 1.3 SpringCloud和Dubbo有哪些區別? Dubbo和Spring Cloud并不是完全的競爭關系,兩者所解決的問題域不一樣:Dubbo的定位始終是一款RPC框架,而Spring Cloud的目的是微服務架構下的一站式解決方案。 1.4 ...

    springcloud學習筆記

    原文地址:請移步原文 一、什么是springcloud,有什么作用 Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。 二、springcloud的基本使用 1.服務的注冊與發現 ①創建一個pare...

    SpringCloud學習筆記(一)

    聲明:關于springcloud微服務的整套學習筆記都是基于開源項目AG-Admin的學習而整理的,本次文章中所涉及的包名或人名都沿用開源項目里面的名稱,也算是給老A推廣推廣他的項目吧。項目地址:https://gitee.com/geek_qi/ace-security。感謝老A能夠帶頭去搭建一個完整的spingcloud的微服務架構,這對于想要學習springcloud 的新手來說是...

    Springcloud學習筆記(二)

    上回在springcloud學習筆記(一)中我們演示了如何搭建eureka注冊中心和網關,今天我們借著老A的項目接著演示用戶微服務和配置微服務。用戶微服務就是用來模擬真實開發環境中的具體業務服務,配置微服務則是用來統一管理每個微服務的啟動文件的。 一:用戶微服務搭建 第一步是在ag-parent父工程中新建一個子工程取名ag-uc,接下來還是之前的套路,搭建一個微服務的三個步驟:導入依賴文件,修改...

    猜你喜歡

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡