<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                >[info] RPC ### **1. 什么是RPC** RPC,是一種遠程調用方式(Remote Procedure Call),通過 RPC 我們可以像調用本地方法一樣調用別的機器上的方法,用戶將無感服務器與服務器之間的通訊。 ***** 說的通俗點,大家應該都用過MVC,說白了,RPC就相當于把控制器(C)放在服務器a,然后把模型(M)放在服務器b, 雖然控制器和模型位于不同服務器,但RPC可以實現服務器a上的控制器對服務器b上的模型的調用。 ***** ### **2. 為什么選用RPC** 隨著業務的發展我們的項目從簡單的單體結構逐漸的演化成微服務結構,我們為什么要拆分成微服務呢?那我們來說說微服務和單體架構的優缺點。 ![](https://img.kancloud.cn/9d/c6/9dc636203cd7866fac0c4acaa70862b0_819x655.png) #### **2.1 單體架構局限性** * **代碼維護難開發效率低** 由于所有的代碼都寫在一個項目里面,要想要修改某一個功能點那么需要對項目的整體邏輯和設計有較深的理解,否則代碼耦合嚴重,導致維護難,特別對于新入職的員工來說這將是最容易出現問題的地方。 加之所有功能在一塊,導致一個項目很大很笨重,開發難度增加。 * **擴展性** 在高并發的情況下,我們往往不是整個項目的每一個功能都處于高流量高請求的情況下的,很多時候都是某一個功能模塊使用的人數比較多,在單體結構下我們沒有辦法針對單個功能實現分布式擴展,必須整個項目一起部署。 ***** #### **2.2 微服務調用** **【**下圖的5個項目,可以分別在5臺5服務器上**】** ![](https://img.kancloud.cn/cc/e6/cce69d6b55041b73f0699f6f4bd2e063_867x319.png) >[] 微服務做的事情是按照項目顆粒度進行服務的拆分,把模塊單獨拿出來做成每一個單獨的小項目。微服務的主要特點有:每一個功能模塊是一個小項目、獨立運行在不同進程或者機器上、不同功能可以又不同的人員開發獨立開發不松耦合、獨立部署不需要依賴整體項目就可以啟動單個服務、分布式管理。每一個服務只要做好自己的事情就好了。 ***** #### **2.3 微服務架構優點** * 拆分業務,把整體大項目分割成不同小項目運行在不同進程或者機器上實現數據隔離 * 技術棧,每個服務可以由不同的團隊或者開發者進行開發,外部調用人員不需要操心具體怎么實現的,只需要類似調用自己方法一樣或者接口一樣按照服務提供者給出來的參數傳遞即可 * 獨立部署,每一個服務獨立部署,部署一個服務不會影響整體項目,如果部署失敗最多是這個服務的功能缺失,并不影響其他功能的使用 * 按需部署,針對不同的需求可以給不同的服務自由擴展服務器,根據服務的規模部署滿足需求的實例 * 局部修改,當一個服務有新需求或者其他修改,不需要修改整體項目只要管好自己的服務就好了 ***** #### **2.4 為什么客戶端和服務端要分開?** 因為客戶端與服務端,相當于傳統框架中的控制器和模型。想想看傳統框架的訂單模塊調用商品模塊,肯定不需要加載商品模塊的控制器的,直接加載模型就好了。所以分開之后,我們可以直接調用,而不需增加畫蛇添足的一層。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看