<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### Envoy是什么? Envoy 是一個面向服務架構的L7代理和通信總線而設計的,這個項目誕生是出于以下目標:<br /> _對于應用程序而言,網絡應該是透明的,當發生網絡和應用程序故障時,能夠很容易定位出問題的根源。_<br /> 實際上,實現前面提到的目標是非常困難的,Envoy 試圖通過提供以下高級特性:<br /> **外置進程架構**:Envoy是一個獨立的進程,與應用程序一起運行。所有的Envoy形成一個對應用透明的通信網格,每個應用程序通過本地發送和接受消息,并不感知網絡拓撲結構。這個外置進程的架構相比傳統的基于library庫服務通信,有兩個優勢;<br /> - Envoy可以與任何語言開發的應用一起工作。Java, C++, Go, PHP, Python等都可以基于Envoy部署成一個服務網格,在面向服務的架構體系中,使用多語言開發應用越來越普遍,Envoy填補了這一空白。<br /> - 任何參與面向服務的大型架構里工作的人都知道,部署升級library是非常令人痛苦的,而現在可以在整個基礎設施上快速升級Envoy。 **基于新C++11編碼**:Envoy是基于C++11編寫的,之所以這樣選擇,是因為我們認為,Envoy這樣的體系結構組件能夠快速有效的開發出來。而現代應用程序開發者已經很難在云環境部署和使用它;通常會選擇性能不高,但是能夠快速提升開發效率的PHP、Python、Ruby、Scala等語言,并且能夠解決復雜的外部環境依賴。并不像本地開發代碼那樣使用如C、C++能夠提供高效的性能。 **L3/L4過濾器**:Envoy其核心是一個L3/L4網絡代理,能夠作為一個可編程過濾器實現不同TCP代理任務,插入到主服務當中。通過編寫過濾器來支持各種任務,如原始TCP代理、HTTP代理、TLS客戶端證書身份驗證等。 **HTTP L7過濾器**:在現代應用架構中,HTTP是非常關鍵的部件,Envoy支持一個額外的HTTP L7過濾層。HTTP過濾器作為一個插件,插入到HTTP鏈接管理子系統中,從而執行不同的任務,如緩沖,速率限制,路由/轉發,嗅探Amazon的DynamoDB等等。 **支持HTTP/2**:在HTTP模式下,Envoy支持HTTP/1.1、HTTP/2,并且支持HTTP/1.1、HTTP/2雙向代理。這意味著HTTP/1.1和HTTP/2,在客戶機和目標服務器的任何組合都可以橋接。建議在服務間的配置使用時,Envoy之間采用HTTP/2來創建持久網絡連接,這樣請求和響應可以被多路復用。Envoy并不支持被淘汰SPDY協議。 **HTTP L7路由**:在HTTP模式下運行時,Envoy支持根據content type、runtime values等,基于path的路由和重定向。當服務構建到服務網格時,Envoy為前端/邊緣代理,這個功能是非常有用的。 **支持gRPC**:gRPC是一個來自谷歌的RPC框架,使用HTTP/2作為底層的多路傳輸。HTTP/2承載的gRPC請求和應答,都可以使用Envoy的路由和LB能力。所以兩個系統非常互補。 **支持MongoDB L7**:現代Web應用程序中,MongoDB是一個非常流行的數據庫應用,Envoy支持獲取統計和連接記錄等信息。 **支持DynamoDB L7**:DynamoDB是亞馬遜托管的NoSQL Key/Value存儲。Envoy支持獲取統計和連接等信息。 **服務發現**:服務發現是面向服務體系架構的重要組成部分。Envoy支持多種服務發現方法,包括異步DNS解析和通過REST請求服務發現服務。 **健康檢查**:構建Envoy網格的推薦方法,是將服務發現視為一個最終一致的方法。Envoy含有一個健康檢查子系統,它可以對上游服務集群進行主動的健康檢查。然后,Envoy聯合服務發現、健康檢查信息來判定健康的LB對象。Envoy作為一個外置健康檢查子系統,也支持被動健康檢查。 **高級LB**:在分布式系統中,不同組件之間LB也是一個復雜的問題。Envoy是一個獨立的代理進程,不是一個lib庫,所以他能夠在一個地方實現高級LB,并且能夠被任何應用程序訪問。目前,包括自動重試、斷路器,全局限速,阻隔請求,異常檢測。將來還會支持按計劃進行請求速率控制。 **前端代理**:雖然Envoy作為服務間的通信系統而設計,但是(調試,管理、服務發現、LB算法等)同樣可以適用于前端,Envoy提供足夠的特性,能夠作為絕大多數Web應用的前端代理,包括TLS、HTTP/1.1、HTTP/2,以及HTTP L7路由。 **極好的可觀察性**:如上所述,Envoy目標是使得網絡更加透明。而然,無論是網絡層還是應用層,都可能會出現問題。Envoy包括對所有子系統,提供了可靠的統計能力。目前只支持statsd以及兼容的統計庫,雖然支持另一種并不復雜。還可以通過管理端口查看統計信息,Envoy還支持第三方的分布式跟蹤機制。 **動態配置**:Envoy提供分層的動態配置API,用戶可以使用這些API構建復雜的集中管理部署。 ### 設計目標 **簡要說明**:Envoy并不是很慢(我們已經花了相當長的時間來優化關鍵路徑)。基于模塊化編碼,易于測試,而不是性能最優。我們的觀點是,在其他語言或者運行效率低很多的系統中,部署和使用Envoy能夠帶來很好的運行效率。 ### 返回 - [簡介](../Introduction.md) - [首頁目錄](../README.md)
                  <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>

                              哎呀哎呀视频在线观看