国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

騰訊開源百萬級服務(wù)發(fā)現(xiàn)和治理中心北極星

Neilyo / 2269人閱讀

摘要:第三種是以為代表的服務(wù)網(wǎng)格,通過劫持業(yè)務(wù)請求的方式實現(xiàn)服務(wù)發(fā)現(xiàn)和治理。服務(wù)網(wǎng)格對于上述服務(wù)發(fā)現(xiàn)和治理功能,北極星提供統(tǒng)一的控制面和數(shù)據(jù)面。騰訊業(yè)務(wù)線眾多,開發(fā)語言和框架也眾多,北極星數(shù)據(jù)面支持多語言和兩種模式。

目前很多企業(yè)在微服務(wù)實施和演化過程中,都會面臨技術(shù)棧的多樣性問題。整個微服務(wù)領(lǐng)域逐漸沉淀出了無數(shù)個相關(guān)組件,大家在選擇上更加困難,也為企業(yè)的基礎(chǔ)設(shè)施建設(shè)不斷帶來挑戰(zhàn)。騰訊也曾面臨這樣的痛點,因此從 2019 年開始騰訊開創(chuàng)了統(tǒng)一的微服務(wù)解決方案“北極星”(Polaris Mesh),通過北極星對這些組件進行抽象和整合,打造公司標準化的服務(wù)發(fā)現(xiàn)和治理方案,幫助業(yè)務(wù)提升研發(fā)效率和運營質(zhì)量。

經(jīng)過兩年的發(fā)展,北極星在騰訊內(nèi)部注冊服務(wù)數(shù)量超過百萬,服務(wù)實例數(shù)量超過五百萬,接口日調(diào)用量超過三十萬億,騰訊音樂、騰訊視頻、騰訊會議、騰訊文檔、企業(yè)微信、微信支付和王者榮耀等重點產(chǎn)品均在使用。

9 月 8 日,騰訊云面向所有開發(fā)者,正式宣布開源北極星(Polaris Mesh),開放了應用在大規(guī)模生產(chǎn)環(huán)境中的源代碼,推進以微服務(wù)為核心的開源生態(tài)建設(shè),并希望幫助業(yè)界更好地進行分布式或者微服務(wù)架構(gòu)轉(zhuǎn)型。

一、從單體到微服務(wù)架構(gòu)

最近十幾年,業(yè)務(wù)架構(gòu)經(jīng)歷了從單體到分布式再到微服務(wù)的演進。單體架構(gòu)的所有代碼都在一個應用中,適合小規(guī)模或者初創(chuàng)期的業(yè)務(wù)。如果應用模塊和開發(fā)人員的數(shù)量很少,單體架構(gòu)容易開發(fā)、測試、部署和伸縮。隨著應用模塊和開發(fā)人員增加,單體架構(gòu)面臨眾多問題,例如:

  • 任何修改都需要重新編譯和部署整個系統(tǒng),變更風險大,測試成本高,編譯速度慢。
  • 如果某個業(yè)務(wù)模塊存在缺陷,也會影響其他業(yè)務(wù)模塊,降低整個系統(tǒng)的可用性。
  • 如果每個業(yè)務(wù)模塊的請求量不均勻,無法針對某些熱點模塊進行水平擴展。

為了解決這些問題,分布式和微服務(wù)架構(gòu)將業(yè)務(wù)模塊拆分成為獨立的服務(wù),但是整個系統(tǒng)的復雜度也急劇上升,如果沒有配套的技術(shù)組件,分布式和微服務(wù)架構(gòu)很難落地。作為微服務(wù)方向的開發(fā)人員,我們都知道服務(wù)發(fā)現(xiàn)和治理是分布式和微服務(wù)架構(gòu)中的關(guān)鍵技術(shù),可以很好的幫助大家解決服務(wù)尋址、流量調(diào)度、故障容錯、訪問控制和可觀測性等問題,但這個關(guān)鍵技術(shù)目前在業(yè)界的開源解決方案卻各有利弊,并不完美。

二、服務(wù)發(fā)現(xiàn)和治理技術(shù)

目前,業(yè)界主要有三種服務(wù)發(fā)現(xiàn)和治理方案:

  • 第一種方案以 Spring Cloud 為代表,在開發(fā)框架中集成了一系列服務(wù)發(fā)現(xiàn)和治理組件。雖然在虛擬機和容器環(huán)境中可以無差別地使用,但是需要在開發(fā)時引入多個零散的功能組件,缺少統(tǒng)一的數(shù)據(jù)面和控制面,不同的語言和框架沒有無法統(tǒng)一管理。
  • 第二種是 Kubernetes Service,將服務(wù)注冊到內(nèi)置的 etcd,采用域名解析插件實現(xiàn)服務(wù)發(fā)現(xiàn),但有個缺點是無法提供服務(wù)治理功能。
  • 第三種是以 Istio 為代表的服務(wù)網(wǎng)格,通過劫持業(yè)務(wù)請求的方式實現(xiàn)服務(wù)發(fā)現(xiàn)和治理。這種方案對開發(fā)代碼的侵入性低,具備統(tǒng)一的數(shù)據(jù)面和控制面,但是需要部署流量代理進程,同時還會增加運維成本,存在較大的資源和性能損耗。

我們認為上述三種方案各有優(yōu)劣,不是誰取代誰的問題,而是互相融合,滿足不同的業(yè)務(wù)需求。騰訊內(nèi)部絕大部分核心業(yè)務(wù)使用第一種方案,也有不少業(yè)務(wù)在 Kubernetes 上使用其他兩種方案,但是依然存在跨部門業(yè)務(wù)系統(tǒng)間數(shù)據(jù)無法打通、缺少標準化的服務(wù)治理的問題。

為了能夠融合上述三種解決方案的優(yōu)點,同時規(guī)避它們的缺點,我們開創(chuàng)了統(tǒng)一的解決方案——北極星,致力于打造騰訊新一代服務(wù)發(fā)現(xiàn)和治理中心,解決原有平臺存在的問題,并且支持無縫遷移,實現(xiàn)公司服務(wù)的互聯(lián)互通和統(tǒng)一治理。目前,北極星的注冊服務(wù)數(shù)量超過百萬,服務(wù)實例數(shù)量超過五百萬,接口日調(diào)用量超過三十萬億,騰訊音樂、騰訊視頻、騰訊會議、騰訊文檔、企業(yè)微信、微信支付和王者榮耀等重點業(yè)務(wù)均在使用。

三、北極星是什么?

北極星(Polaris Mesh)是騰訊自研的服務(wù)發(fā)現(xiàn)和治理中心,以服務(wù)注冊中心為基礎(chǔ),擴展了服務(wù)治理功能以及相應的控制面,提供多語言的客戶端實現(xiàn),不同的開發(fā)框架可以集成使用。隨著容器化和云原生的推進,北極星也支持了 Kubernetes 服務(wù)和網(wǎng)格 Sidecar 的自動接入,實現(xiàn)了它們之間互聯(lián)互通和統(tǒng)一治理。

3.1 功能特性

北極星主要有五大功能:

  • 注冊發(fā)現(xiàn):北極星的基礎(chǔ)部分是一個大容量和高可用的服務(wù)注冊中心,除了支持多種協(xié)議的服務(wù)注冊和發(fā)現(xiàn),還支持對注冊的服務(wù)實例進行健康檢查,避免主調(diào)方將請求發(fā)送給異常實例。在圍繞服務(wù)構(gòu)建的分布式應用架構(gòu)中,服務(wù)注冊和發(fā)現(xiàn)至關(guān)重要,可以提高應用的擴展能力,降低應用的遷移成本。
  • 流量調(diào)度:北極星提供動態(tài)路由和負載均衡兩種類型的流量調(diào)度功能。動態(tài)路由根據(jù)請求標簽、實例標簽和標簽匹配規(guī)則,可以實現(xiàn)按地域就近、單元化隔離和金絲雀發(fā)布等多種路由策略。負載均衡將請求均衡地分配給不同的被調(diào)方實例,支持權(quán)重隨機、最小負載和權(quán)重一致性 Hash 等多種均衡算法。
  • 熔斷降級:北極星支持實例、接口和服務(wù)三種粒度的熔斷策略。如果被調(diào)方的部分實例發(fā)生熔斷,將請求分配給其他實例。如果被調(diào)方的某個接口或者服務(wù)發(fā)生熔斷,根據(jù)降級策略直接返回。網(wǎng)絡(luò)抖動、機器故障和程序缺陷等因素都可能導致實例、接口或者服務(wù)出現(xiàn)異常,熔斷降級可以提高業(yè)務(wù)的請求成功率。
  • 訪問控制:北極星提供鑒權(quán)和限流兩種訪問控制功能。被調(diào)方可以設(shè)置鑒權(quán)規(guī)則,允許哪些主調(diào)方訪問自己,不允許哪些主調(diào)方訪問自己。被調(diào)方也可以設(shè)置單機或者分布式限流規(guī)則,一方面防止突發(fā)流量壓垮自己,導致自己完全不可用,一方面防止部分主調(diào)方的請求量過多,消耗大量資源,影響其他主調(diào)方。
  • 服務(wù)網(wǎng)格:對于上述服務(wù)發(fā)現(xiàn)和治理功能,北極星提供統(tǒng)一的控制面和數(shù)據(jù)面。數(shù)據(jù)面功能采用配置化的實現(xiàn)方式,控制面可以下發(fā)服務(wù)數(shù)據(jù)和治理規(guī)則到數(shù)據(jù)面,動態(tài)調(diào)整數(shù)據(jù)面的執(zhí)行策略。數(shù)據(jù)面支持?多語言?SDK 和 Sidecar 兩種模式。

3.2 系統(tǒng)組件

北極星系統(tǒng)組件分為核心和生態(tài)兩個部分:

  • 核心組件:控制臺、控制面和數(shù)據(jù)面
  • 生態(tài)組件:用于框架、網(wǎng)關(guān)和 Kubernetes 對接

北極星控制面既包含服務(wù)注冊中心,也包含服務(wù)治理控制面,服務(wù)治理控制面相當于業(yè)界服務(wù)網(wǎng)格的控制面。數(shù)據(jù)面分為 SDK 和 Sidecar 兩種模式。SDK 模式提供多語言的實現(xiàn),不需要劫持業(yè)務(wù)請求,和業(yè)務(wù)請求的協(xié)議無關(guān),適合集成在開發(fā)框架里使用。Sidecar 模式需要劫持業(yè)務(wù)請求,存在性能和資源損耗,部署和運維成本高,適合?無侵入?的開發(fā)場景。

為了降低業(yè)務(wù)的使用成本,北極星提供三種類型的生態(tài)組件。第一類用于各種開發(fā)框架和北極星數(shù)據(jù)面的無縫集成,框架用戶不需要直接調(diào)用北極星數(shù)據(jù)面,減少開發(fā)的侵入性;第二類用于各種網(wǎng)關(guān)和北極星數(shù)據(jù)面的無縫集成,支持網(wǎng)關(guān)將請求直接轉(zhuǎn)發(fā)到北極星服務(wù);第三類生態(tài)組件只有 polaris-controller,支持 Kubernetes 服務(wù)和網(wǎng)格 Sidecar 的自動接入。

3.3 最佳實踐

目前,騰訊常用的框架、網(wǎng)關(guān)和容器平臺已經(jīng)集成北極星,形成了以北極星為核心的服務(wù)發(fā)現(xiàn)和治理體系。下面介紹北極星在騰訊的最佳實踐:

第一,作為公司統(tǒng)一的服務(wù)發(fā)現(xiàn)平臺,實現(xiàn)公司內(nèi)網(wǎng)服務(wù)的互聯(lián)互通。北極星采用計算和存儲分離的架構(gòu),計算層可以隨著客戶端數(shù)量的增加平行擴展,輕松支持百萬級客戶端接入。同時服務(wù)端提供同城多中心或者跨城多中心等多種部署模式,滿足不同的容災要求。

第二,為不同的開發(fā)語言和框架提供統(tǒng)一的服務(wù)發(fā)現(xiàn)和治理功能。騰訊業(yè)務(wù)線眾多,開發(fā)語言和框架也眾多,北極星數(shù)據(jù)面支持多語言 SDK 和 Sidecar 兩種模式。框架可以直接集成相應語言的 SDK,不需要部署 Sidecar,不會增加運維成本,沒有性能和資源損耗。

第三,作為網(wǎng)關(guān)到內(nèi)網(wǎng)服務(wù)的連接器。網(wǎng)關(guān)可以集成北極星,將請求直接轉(zhuǎn)發(fā)到北極星服務(wù),實現(xiàn)微服務(wù)網(wǎng)關(guān)的能力。

第四,現(xiàn)有的開源組件主要分為兩個體系,一個圍繞服務(wù)注冊中心和開發(fā)框架打造,一個圍繞 Kubernetes 服務(wù)和網(wǎng)格打造。兩個體系各自有各自的亮點和局限,隨著容器化和云原生的推進,越來越多企業(yè)同時使用兩個體系。但是兩個體系的實現(xiàn)存在割裂,給業(yè)務(wù)增加了不必要的使用成本。北極星對兩個體系進行了融合,為虛擬機和容器環(huán)境、開發(fā)框架和網(wǎng)格提供一體化的服務(wù)發(fā)現(xiàn)和治理方案。

四、北極星和開源生態(tài)的關(guān)系

4.1 北極星和框架

北極星客戶端可以集成到各種框架中,讓裸的開發(fā)框架快速升級為分布式和微服務(wù)框架,具備完整的服務(wù)發(fā)現(xiàn)和治理功能。

騰訊業(yè)務(wù)常用的框架均已集成北極星,其中除了自研框架,還有 gRPC、Spring 和 Gin 等開源框架。如上所述,這些集成也會作為北極星的生態(tài)組件開源,框架用戶可以直接引入,邏輯代碼不需要任何改動。

4.2 北極星和網(wǎng)關(guān)

網(wǎng)關(guān)和框架的情況類似,北極星也可以和常見的開源網(wǎng)關(guān)集成使用。

4.3 北極星和 Kubernetes

隨著容器化和云原生的推進,越來越多企業(yè)開始使用 Kubernetes 部署服務(wù),騰訊也不例外。

在 Kubernetes 環(huán)境上,除了注冊中心和框架,還有兩種服務(wù)發(fā)現(xiàn)和治理方案:

  • Kubernetes 服務(wù):通過 DNS 域名解析實現(xiàn)服務(wù)發(fā)現(xiàn),采用 iptables 或者 IPVS 實現(xiàn)負載均衡。這種方案簡單易用,但是缺少其他服務(wù)治理能力,大規(guī)模服務(wù)存在性能瓶頸。
  • 網(wǎng)格:通過劫持業(yè)務(wù)請求實現(xiàn)服務(wù)發(fā)現(xiàn)和治理。這種方案功能全面,但是存在 CPU 和性能損耗,運維成本高。

在騰訊內(nèi)部,絕大部分業(yè)務(wù)使用注冊中心和框架的方案,也有不少業(yè)務(wù)使用 Kubernetes 服務(wù),網(wǎng)格還在小范圍嘗試階段。

北極星提供 polaris-controller,支持 Kubernetes 服務(wù)和網(wǎng)格 Sidecar 自動注入,實現(xiàn)三種方案的聯(lián)通和統(tǒng)一治理。

五、北極星的開源規(guī)劃

北極星是在滿足騰訊業(yè)務(wù)需求的過程中,不斷演進和發(fā)展起來的,積累了騰訊超大規(guī)模服務(wù)發(fā)現(xiàn)和治理的經(jīng)驗,沒有一個開源組件的形態(tài)和北極星完全類似。騰訊的業(yè)務(wù)線眾多,包含即時通信、音樂視頻、金融科技和企業(yè)服務(wù)等,北極星面臨的問題和相應的解決方案具有很強的通用性。我們相信北極星也可以幫助其他企業(yè)更好地進行分布式或者微服務(wù)架構(gòu)轉(zhuǎn)型,提高業(yè)務(wù)的研發(fā)效率和運營質(zhì)量。

北極星開源版本直接來自騰訊的生產(chǎn)代碼,我們已經(jīng)將主體部分提交到社區(qū)。期待更多感興趣、有能力的開發(fā)者參與共建,后續(xù)計劃包括但不限于:

  • 完善服務(wù)發(fā)現(xiàn)和治理功能
  • 提供更多語言的數(shù)據(jù)面 SDK
  • 優(yōu)化數(shù)據(jù)面 Sidecar 的性能
  • 加強北極星和相關(guān)開源組件的集成
  • 完善項目文檔
  • 引入其他公司的開源愛好者

歡迎加入

截至目前,騰訊共對外開源超過 130 個優(yōu)質(zhì)項目,代碼貢獻者超過 2000 人,開源項目 star 總數(shù)超過 37 萬個。北極星作為微服務(wù)領(lǐng)域新推出的開源項目,也非常歡迎感興趣的小伙伴在北極星 Github 上提交 issue 與 PR 進行討論和貢獻,或加入北極星社區(qū)群參與社區(qū)討論。

北極星 GitHub:github.com/polarismesh…

北極星官網(wǎng)地址:polarismesh.cn/

交流群:由于群成員已達300+,請加中間件小Q妹微信(微信號:midwareQmei),并發(fā)送入群暗號“polaris”,等待驗證回復。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/121160.html

相關(guān)文章

  • 云計算,讓服務(wù)觸手可及(大數(shù)據(jù)觀察·云)

    摘要:當云計算成為一種公共服務(wù),社會創(chuàng)新的成本也由此大幅降低。在全球市場,中國云計算公司仍處于追趕狀態(tài),今后有望借助服務(wù)一帶一路的機遇加速發(fā)展。數(shù)據(jù)來源:《省級政府網(wǎng)上政務(wù)服務(wù)能力調(diào)查評估報告(2018)》、阿里巴巴、騰訊制圖:郭 祥習近平總書記在致首屆數(shù)字中國建設(shè)峰會的賀信中指出,當今世界,信息技術(shù)創(chuàng)新日新月異,數(shù)字化、網(wǎng)絡(luò)化、智能化深入發(fā)展,在推動經(jīng)濟社會發(fā)展、促進國家治理體系和治理能力現(xiàn)代化...

    jerry 評論0 收藏0
  • CNCF案例研究:螞蟻金服

    摘要:螞蟻金服利用的高速增長策略公司螞蟻金服地點中國杭州行業(yè)金融服務(wù)挑戰(zhàn)螞蟻金服于年月正式成立,源自年推出的全球最大的在線支付平臺支付寶。和贊助方案出爐和多元化獎學金現(xiàn)正接受申請和即將首次合體落地中國 螞蟻金服利用Kubernetes的高速增長策略 showImg(https://segmentfault.com/img/bVbokov?w=1456&h=1172); 公司:螞蟻金服地點:中...

    Maxiye 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<