成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

知乎云原生的架構實踐

原創 精選
云計算 云原生
云原生是一種新興的軟件架構和開發模式,它旨在實現高度可擴展、可靠和可持續的應用程序部署與管理。它的核心理念是將應用程序設計為可運行于云計算環境中的微服務,并采用容器化、自動化管理和彈性伸縮等技術手段來優化應用程序的開發、交付和運維過程。

作者 | 王路

編輯 | 王瑞平

本文整理自知乎云原生架構負責人王路在WOT2023大會上的主題分享,更多精彩內容及現場PPT,請關注51CTO技術棧公眾號,發消息【WOT2023PPT】即可直接領取。

日前,在51CTO主辦的WOT全球技術創新大會上,王路帶來了主題演講《知乎云原生的架構實踐》,為大眾呈現出全新視角。

云原生是一種新興的軟件架構和開發模式,它旨在實現高度可擴展、可靠和可持續的應用程序部署與管理。它的核心理念是將應用程序設計為可運行于云計算環境中的微服務,并采用容器化、自動化管理和彈性伸縮等技術手段來優化應用程序的開發、交付和運維過程。主要特點包括:容器化、微服務架構、自動化運維、持續交付、彈性伸縮等。

文章摘選自王路WOT期間演講的精彩內容,主要講述了知乎云原生架構演進的歷程和云原生架構的實踐。

云原生的出現使軟件開發人員能夠更好地利用云計算、容器技術和自動化運維等先進的技術手段,構建出高效、可靠和可擴展的應用程序。它為企業提供了更靈活、高效的應用交付和管理方式,也推動了云計算和微服務架構的發展。

與此同時,云原生也帶來了一系列的挑戰和變革,需要組織和開發團隊進行相應的技術轉型和組織變革,以適應云原生時代的發展需求。

王路2016年加入知乎,目前擔任公司內部云原生團隊負責人,負責知乎內部在線基礎設施原生架構的建設工作,并親歷了知乎云原生架構演進和實踐的全過程。

1、重新認識云原生:架構演進

云原生就像一個筐,什么東西都可以裝進去,但又很難解釋清云原生究竟是什么。王路以云原生架構演進為切入點,重新解讀了云原生的概念。現在簡單了解一下云原生架構的演進歷程:

圖片圖片

如圖所示,業務的演變經歷了從單體架構到SOA架構再到微服務架構。基礎設施則經歷了從物理機到虛擬機再到容器的演進過程。最終,雙劍合璧,云原生時代終于到來!

而伴隨著云原生的出現,業務架構和基礎架構的聯系也比以往更密切了。具體表現在:基礎架構能夠更細致地解決業務問題,真正關注業務痛點而不是基礎設施問題。

圖片圖片

云原生計算基金會官方對于云原生技術棧的定義包括以下幾個部分:一、容器;二、不可變基礎設施;三、聲明式API;四、服務網格,最后一個是微服務。

其中,微服務屬于業務架構,其它4個屬于基礎架構。在實踐過程中,需要將幾個技術圍繞微服務劃分成幾個方向,比如,微服務部署、調度以及編排。

另一個比較重要的方向則是微服務的流量管理能力,既包括服務網格,也包含消息隊列。并且,服務網格只處理東西向流量管理問題,其實還有南北向流量管理問題。

這些方向最終都需要落地到業務或者使業務受益于云原生基礎設施,為此,必須提供DevOps平臺,使業務受益于云原生架構。

2、越早改變,成本越低:知乎云原生架構的演進歷程

知乎進行云原生改造時間較早,2014和2015年開始在業務方面進行微服務改造以及容器化。演進歷程大概分以下幾個階段:

2016年,知乎完成了全部業務的容器化。當時,知乎的流量和規模較小,改造成本也相對較低。

圖片圖片

2016年,知乎完成全部業務的容器化,當時用的是Mesos加自研framework的組合形式。服務發現、注冊還有通信用的是注冊中心HAproxy。

該階段過后過渡到下一階段。2018-2019年,Mesos被替換成了Kubernetes,還將中間件容器化,主要是將HAProxy和卡夫卡都進行了容器化。

下一個階段是2021年,最大的改變是引入了Service Mesh,部分替換掉原來的注冊中心+HAProxy服務的發現和注冊方式。另一個比較大的變化是數據庫已完成容器化,主要是TIDB和Redis。

如今,知乎主要變成了私有云狀態,相當于云建設主要由自己進行;但是,該能力已轉移至公有云,并提供了更大資源的彈性能力。另一塊比較大的變化就是離在線混部,目前,已獲得階段性進展。

以上就是知乎云原生架構全部的演進歷程。

3、基本架構:調度編排和Kubernetes的流量管理

上圖是簡單的云原生架構圖,相對來講比較簡單。從下向上主要是物理機、虛擬化層,上面則是調度編排層,再往上還構建出了Kubernetes的核心基礎服務。

圖片圖片

比如,流量管理主要是服務網格、服務網關和消息隊列,而對應的服務網格則是東西向的流量管理。

而微服務網關則是南北向的流量管理,消息隊列是異步流量管理。中間件有一部分和流量管理重合,比如,Kafka和Pulsar,可能承載了部分流量管理、消息隊列的能力,還有TIDB和Redis也都承載于Kubernetes之上。

重點是調度編排層、Kubernetes、流量管理以及可觀測、建設在基礎設施之上的平臺應用,比如,部署平臺、服務網格平臺、網關平臺還有可觀測平臺。

4、知乎云原生架構實踐:調度編排Kubernetes

知乎在云原生實踐過程中針對調度編排Kubernetes有哪些實踐經驗呢?

圖片圖片

上圖涵蓋了知乎的全部業務。如果這個架構出現任何問題,影響的將是知乎整體業務。而Kubernetes在這個架構圖里處于一個承上啟下的位置,是整個云原生架構的基石。

如果Kubernetes出了任何問題,影響幾乎是災難性的,因此,穩定性至關重要。

接下來,列舉兩個Kubernetes穩定性建設核心經驗:第一個是控制集群規模;第二個是保護好API server。

首先,控制集群規模對于Kubernetes集群管理來講有兩個主要方向:第一個是超大規模集群;另一個是多個小規模集群。

從知乎的角度看來,維護超大規模集群需要付出巨額的成本,比如,運維成本。而運維3個規模相對較小的集群和維護大集群的運維成本相對來說更低,因為,大規模集群面臨的性能問題較多。其次是研發成本,如果運維一萬家節點或五千家節點以上,可能需要付出研發成本和對原生組件進行改造。

另一個比較關鍵的點是故障的影響。業務如果完全放置于大集群,故障發生時的爆炸半徑也是極大的。但是,如果分散在多個集群之中,即使某個集群完全崩潰,影響也微乎其微,而不是災難性的。

從知乎的實踐經驗來看,多個小規模Kubernetes集群更實用,而不是大規模的超大集群。

圖片圖片

但是,如果使用多集群,可能需要解決如下問題:第一個是進行多集群應如何劃分;第二個是多集群之間資源需要如何調度;第三個是多集群間如何進行服務發現和通信。

在維護API server穩定性方面。知乎發生過幾次相關故障,比如,將異常流量“打掛”后會直接導致“血崩”。此時,需要復用內部網關能力,進行七層限流,可以限制異常流量,將關鍵組件流量保護住,使Apiserver能夠快速恢復。

5、流量管理實踐:服務網格、消息隊列、網關

流量管理主要包含3個組件:服務網格、消息隊列、網關。

首先解釋下一個關鍵問題,在流量管理的過程中為什么要將東西向流量管理、異步流量管理以及南北向流量管理放在一起呢?

第一,隨著業務發展,微服務之間的通信變得越來越復雜。對此提出過很多的治理能力需求,比如,自動配置限流能力和熔斷能力等。

第二,現有方案改造,其實就是HAProxy+注冊中心方式。理論上來說,你完全可以基于HA進行一整套治理能力的改進,但是研發成本較高。

第三,服務網格方案istio,提供了豐富的標準化流量治理能力。這相當于滿足業務需求或業務對基礎架構能力的需求。

圖片圖片

從架構方面來看,性能上的優化或遇到的最大性能挑戰是推送性能。istiod需要將所有配置都推送到Sidecar上。這既需要配置方面的優化,也需要架構上的優化。

現在,知乎自研了一整套限流組件,提供了本地限流能力,包括:全球限流能力,也遇到了負載均衡問題。

實踐證明,中心化負載均衡效果較好,但是,當切換到Mesh或sidecar模式,每個sidecar和每個客戶端都缺乏全局負載信息,使負載效果在某些業務方面就變得極差。

知乎也針對這些方面做出過一些改進。如果缺少全局信息,就需要將sidecar提上去,然后將一組實例當作單獨的負載均衡集群,實現較為均衡的效果。該方案與之前的HAProxy最大的區別是它可以完整獲取現有istiod的治理能力。    

6、可觀測實踐:Metric、Logging、Tracing

在可觀測上實踐方面,知乎的底層統一使用Victorial Metrics作為存儲系統,而上層都是以Promesql格式進行存儲的,既提供了原生的Promesql格式查詢,也提供了自研的組件。

圖:可觀測指標系統圖:可觀測指標系統

可觀測性比較簡單,Filebeat是收集端,存儲是自研的,搜索依賴于存儲,全量日志則是通過Flink落地HDFS。

Tracing統一使用Open Telemetry收集端。ClickHouse則用于存儲和查詢。性能相對來說可以滿足需求。

7、寫在最后:時刻關注業務需求和穩定性

基礎架構要時刻關注業務架構的需求。架構升級一定為業務服務,而不是升級。你需要考慮架構升級有沒有給業務帶來好處,或者業務開發效率和穩定性是否因為架構升級變得更好。另外一點,架構升級的時機要好。

此外,穩定性永遠是第一位的。如果保障不了穩定性,所有的架構升級都是空中樓閣。

未來,知乎會更多關注多云多活和離在線混部,繼續在全時離在線混部上投入,實現全時混部,并且,Serverless也是未來的發展方向。

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2025-02-11 09:12:55

2017-06-16 21:00:02

Python爬蟲

2022-03-01 18:27:18

云原生日志監控

2024-07-19 14:14:37

2022-01-21 08:36:25

MPP架構數據

2022-06-01 11:14:22

云原生安全架構設計

2017-03-07 10:00:01

定義實踐DevOps

2020-12-10 15:28:29

知乎CTO平臺

2023-08-21 07:55:32

2023-12-01 18:06:35

2022-07-07 10:19:05

數據畫像

2014-12-31 17:16:15

知乎架構變遷史

2021-08-02 09:40:57

Dapr阿里云Service Mes

2018-09-03 08:36:04

知乎容器大數據

2020-03-30 15:08:56

知乎崩潰網友

2019-11-25 11:03:19

互聯網數據技術

2021-06-15 09:57:23

云計算云原生云開發

2020-03-04 09:56:56

網絡安全云原生容器

2022-05-02 15:11:15

Bytedoc云原生數據庫服務

2020-09-18 13:09:15

云原生云安全網絡安全
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区欧美在线 | h片免费在线观看 | 91av视频在线观看 | 久久男人天堂 | 国产成人高清视频 | 四虎影视一区二区 | 99精品国产在热久久 | 亚洲国产一区二区三区在线观看 | www.日韩av.com | 91天堂网 | www天天操 | 欧美不卡一区二区三区 | 中文字幕在线免费观看 | 日韩精品久久一区二区三区 | av黄色在线| 国产一区精品在线 | 1000部精品久久久久久久久 | 二区在线视频 | 欧美性猛片aaaaaaa做受 | 国产一区二区精品在线 | av一二三区 | 精品久久久久久久久久 | 国产视频一视频二 | 国产欧美在线 | 中文字幕在线视频一区二区三区 | 欧美亚洲网站 | 国产精品久久久久久久久婷婷 | 国产视频第一页 | 成人免费看 | 亚洲第一福利视频 | 午夜国产| 欧美在线不卡 | 成人福利电影 | 亚洲欧美精品在线 | 大乳boobs巨大吃奶挤奶 | 欧美性猛交一区二区三区精品 | 日韩aⅴ视频 | 国产午夜亚洲精品不卡 | 欧美色成人 | 国产伦精品一区二区三区精品视频 | 超碰欧美|