<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          KitexGo 微服務 RPC 框架

          聯(lián)合創(chuàng)作 · 2023-09-23 12:08

          Kitex[ka?t'eks] 字節(jié)跳動內部的 Golang 微服務 RPC 框架,具有高性能、強可擴展的特點,在字節(jié)內部已廣泛使用。如今越來越多的微服務選擇使用 Golang,如果對微服務性能有要求,又希望定制擴展融入自己的治理體系,Kitex 會是一個不錯的選擇。

          框架特點

          • 高性能

            使用自研的高性能網(wǎng)絡庫 Netpoll,性能相較 go net 具有顯著優(yōu)勢。

          • 擴展性

            提供了較多的擴展接口以及默認擴展實現(xiàn),使用者也可以根據(jù)需要自行定制擴展,具體見下面的框架擴展。

          • 多消息協(xié)議

            RPC 消息協(xié)議默認支持 ThriftKitex Protobuf、gRPC。Thrift 支持 Buffered 和 Framed 二進制協(xié)議;Kitex Protobuf 是 Kitex 自定義的 Protobuf 消息協(xié)議,協(xié)議格式類似 Thrift;gRPC 是對 gRPC 消息協(xié)議的支持,可以與 gRPC 互通。除此之外,使用者也可以擴展自己的消息協(xié)議。

          • 多傳輸協(xié)議

            傳輸協(xié)議封裝消息協(xié)議進行 RPC 互通,傳輸協(xié)議可以額外透傳元信息,用于服務治理,Kitex 支持的傳輸協(xié)議有 TTHeader、HTTP2。TTHeader 可以和 Thrift、Kitex Protobuf 結合使用;HTTP2 目前主要是結合 gRPC 協(xié)議使用,后續(xù)也會支持 Thrift。

          • 多種消息類型

            支持 PingPong、Oneway、雙向 Streaming。其中 Oneway 目前只對 Thrift 協(xié)議支持,雙向 Streaming 只對 gRPC 支持,后續(xù)會考慮支持 Thrift 的雙向 Streaming。

          • 服務治理

            支持服務注冊/發(fā)現(xiàn)、負載均衡、熔斷、限流、重試、監(jiān)控、鏈路跟蹤、日志、診斷等服務治理模塊,大部分均已提供默認擴展,使用者可選擇集成。

          • 代碼生成

            Kitex 內置代碼生成工具,可支持生成 Thrift、Protobuf 以及腳手架代碼。

          框架性能

          測試環(huán)境

          • CPU: Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz, 4 cores
          • Memory: 8GB
          • OS: Debian 5.4.56.bsk.1-amd64 x86_64 GNU/Linux
          • Go: 1.15.4

          并發(fā)表現(xiàn) (Echo 1KB, 改變并發(fā)量)

          QPS TP99 TP999

          吞吐表現(xiàn) (并發(fā) 100, 改變包大小)

          QPS TP99 TP999

          相關項目

          • Netpoll: 自研的高性能網(wǎng)絡庫,Kitex 默認集成的。
          • kitex-contrib:Kitex 的部分擴展庫,使用者可以根據(jù)需求通過 Option 集成進 Kitex 中。
          • Example:Kitex 的使用示例。
          瀏覽 19
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  蜜乳AV一区二区 | 成人AV片导航 | 成人婷婷五月天 | 操逼视频国产 | 五月丁香亚洲无码 |