微服務架構自出現以來,一直面臨一道難題——各服務間的通信問題。
微服務架構下,各個模塊以微服務的形式被拆分到了不同的進程甚至節點上,服務間通信只能使用復雜的 RPC 通訊,這也成為了微服務架構的一個性能瓶頸。2016 年,Service Mesh 的概念被提出,其定位便是用來服務與服務之間的通訊的云原生基礎設施。而后,谷歌、IBM 與 Lyft 三方共同發布了開源 Service Mesh 產品——Istio,旨在提供一種統一化的微服務連接、安全保障、管理與監控方式。發展至今,Istio 已經成了最受歡迎的 Service Mesh 產品。
Istio 采用與應用容器并行的方式,部署使用 Sidecar 這種可編程的代理機制。 Sidecar 最大的亮點就是業務無侵入,應用程序無需接受大幅改造,也沒有額外的關聯成本,也正是這個優點,讓 Service Mesh 的理念深入人心。
但是在一些對性能比較敏感的場景,Istio-Sidecar 模式也不可避免地會帶來一些問題,諸如:應用協議綁定、性能損耗、資源開銷、運維復雜度提升等等。而目前許多 RPC 框架并不能很好地解決 Istio-Sidecar 模式帶的問題,也因此,很多企業在搭建微服務架構時面臨阻礙。
為了能幫助更多企業快速構建微服務,2021 年 9 月,字節開源企業級云原生微服務架構的中間件集合 CloudWeGo,其中 CloudWeGo-Kitex 是一個支持多協議的 Golang RPC 框架。字節內部主要是 Thrift 協議,所以在 Thrift 協議深耕已久,做了大量優化,Kitex 開源希望能幫助其他企業快速構建微服務,但 Kitex 基于 gRPC 協議采用 Istio - Sidecar 解決方案存在上述問題,同時也希望使用 Thrift 協議的用戶能基于 Istio 實現服務治理。
2023 年 5 月 28 日,GOTC2023 全球開源技術峰會“Cloud Native Summit”分論壇將在上海浦東新區張江科學會堂舉辦,CloudWeGo Reviewer & 火山引擎云原生資深研發工程師 - 胡文將分享 《基于 Kitex Proxyless 和 Istio 的云原生微服務實踐》,除了介紹 Kitex Proxyless 實現細節和原理外,也會介紹實現中的問題以及如何解決。
Kitex Proxyless 期望可以滿足一些對性能比較敏感的業務方訴求,也同時豐富服務網格在統一治理平面、異構數據面場景下的部署形態。
對 Proxyless 模式和 Kitex 感興趣的開發者可以登陸 GOTC2023 官網,報名參會,屆時到現場深入了解 Kitex Proxyless!
GOTC2023 報名入口:https://www.bagevent.com/event/8387611
此外,CloudWeGo-Kitex 目前已支持騰訊云微服務引擎 TSE 、阿里云微服務引擎 MSE & ARMS 鏈路追蹤、華為云微服務引擎 CSE。CloudWeGo 也完全支持與公有云 PaaS 支持對接,兼容適配。除 Kitex,CloudWeGo 還包含 Kitex、Hertz、Volo、Netpoll、Shmipc 等多個重點子項目,上至框架下至基礎庫均是自研,并圍繞這些項目,構建起了完整的生態。這些項目共同的特點是高性能、高擴展性、高可靠,專注于微服務通信與治理。
CloudWeGo 鼓勵所有感興趣的開發者參與貢獻,這些貢獻者來自各行各業,遍布國內海外,覆蓋企業正式職員和大學生等不同角色,累計 Contributors 已經超過 200 個。其中通過參與開源貢獻晉升為 Committer 的人數為 13 個,從 Committer 晉升至 Reviewer 的人數為 4 個。
未來,CloudWeGo 也將持續發力開源產品和社區,與廣發開發者共筑開源生態。
全球開源技術峰會(Global Open-source Technology Conference),簡稱 GOTC,是由開放原子開源基金會、上海浦東軟件園、 Linux 基金會亞太區和開源中國聯合發起的,面向全球開發者的一場盛大開源技術盛宴。 5 月 27 日至 28 日,GOTC 2023 將于上海舉辦為期 2 天的開源行業盛會。大會將以行業展覽、主題發言、特別論壇、分論壇的形式展現,與會者將一起探討元宇宙、3D 與游戲、eBPF、Web3.0、區塊鏈等熱門技術主題,以及開源社區、AIGC、汽車軟件、AI 編程、開源教育培訓、云原生等熱門話題,探討開源未來,助力開源發展。
GOTC 2023 報名通道現已開啟,誠邀全球各技術領域開源愛好者共襄盛舉!
參會報名,請訪問: https://www.bagevent.com/event/8387611
進入官網了解更多信息,請訪問: https://gotc.oschina.net/