Nacos 开源、自研、商业化三位一体战略解读
作者:彥林(李艷林),彥林(李艷林),Nacos PMC,阿里云 MSE 產品創始人,阿里云軟負載團隊負責人。
阿里云原生三位一體戰略解讀
阿里巴巴開源、自研、商業化技術三位一體,用公有云支持阿里集團上云,以開源為內核做內部擴展,以商業化為基礎做內部定制;后端BaaS化,客戶端輕量化,業務側Serverless化。
Nacos作為整個阿里云原生三位戰略中的核心組成部分,我們在2018年以Configserver/VIPServer/Diamond為基礎通過Nacos開源輸出阿里十年沉淀的注冊中心和配置中心能力,并且快速成為國內首選。并且通過云產品MSE以BaaS模式輸出解決方案能力。
Nacos開源三年以來,打造了完整的云原生技術生態,成為國內的事實標準,并且通過社區推動開放共建,通過阿里豐富產品打磨產品性能和可用性,通過商業化打造產品極致體驗,更安全的產品能力,滿足企業用戶的生產要求。從而全方位錘煉Nacos各個維度的能力,正循環持續增強產品競爭力!下面我從開源、自研、商業化三個維度進行更深入的分享。
Nacos 生態&規劃
Nacos 生態
Nacos幾乎支持所有主流語言,其中Java/Golang/Python已經支持Nacos2.0長鏈接協議,能最大限度發揮Nacos性能。阿里微服務 DNS(Dubbo+Nacos+Spring-cloud-alibaba/Seata/Sentinel)最佳實踐,是Java微服務生態最佳解決方案;除此之外,Nacos也對微服務生態活躍的技術做了無縫的支持,如目前比較流行的Envoy、Dapr等,能讓用戶更加標準獲取微服務能力。
Nacos 規劃
自從Nacos 2.0發布以來,憑借10倍性能提升激發社區活力,進入國內開源項目活躍度Top10,并且成為行業首選。隨著Nacos2.0的成熟,后續Nacos1.X將進入維護狀態,Nacos 2.0.X將做1.X到2.X的過度,從2.1.0版本我們將去掉過度升級邏輯,讓Nacos2.0代碼更加清爽,性能更加卓越,并且加速插件化和服務網格生態的進化速度,期望對此感興趣小伙伴一起共建!!!
Nacos 阿里落地實踐
Nacos 阿里百萬實例微服務架構
由于阿里巴巴已經發展到百萬實例級的超大集群,為了更高的性能和擴展性,我們按照職能將Nacos切分成注冊中心和配置中心兩個集群;建議超過10w實例規模公司從早期做好拆分。小的時候部署到一起運維和部署代價是最小的。統一接入按照流量網關和微服務網關做了兩層拆分,Tengine負責流量網關,主要抗連接,證書卸載和弱七層流量控制;Envoy負責微服務網關部分,負責服務治理,協議轉化,跨域互通等場景;建議超過100w/s建議做兩層,不超過一層具有最佳性價比。阿里在國際化業務中將服務路由和異地多活切流能力下沉到Sidecar,并且大規模落地中,以便通過異地多活體系按照Region級別擴展集群。
目前為止,阿里云原生網關,注冊中心和配置中心所有單元環境全部切到公有云產品MSE中,并且經過了99大促的驗證,并且以此支持今年雙十一。
Nacos 服務發現實踐
隨著業務規模和業務域擴大,大公司基本都會遇到跨域互通的問題,阿里巴巴通過云原生網關打通多個業務域,如釘釘和其他集團業務域互通,通過MSE的云原生網關互通,通過Dubbo3.0的Triple協議互調,沒有任何協議轉化的消耗,效率高,rt低,還可以通過網關配置簡單的路由切分邏輯提升整體高可用。在阿里巴巴落地服務網格過程中Istio不能滿足阿里規模要求,因此服務鏈路直接跟Nacos注冊中心打通,路由規則通過Istio對接Nacos配置中心打通,以便能夠大規模生產落地。
Nacos配置管理實踐
阿里能夠喝著咖啡搞大促的一個底層技術就是動態配置管理+預案系統(定時修改規則配置)。Nacos作為動態配置管理的基礎支撐著整個雙十一的核心業務。 如阿里巴巴混部快速交付一個單元環境后,會動態推送單元化規則引流到新的混部環境,大促開始前會對日志采樣率規則進行調整,防止過多日志對系統性能造成影響。
Nacos 解決方案
微服務解決方案
微服務引擎(Micro Service Engine,簡稱 MSE)是一個面向業界主流開源微服務生態的一站式微服務平臺。
用戶可以在注冊&配置中心、服務框架、云原生網關、服務治理四個模塊隨意組合,可以選擇商業化產品,也可以選擇自建產品,如果全部選擇我們解決方案,可以直接獲得阿里十年沉淀的核心競爭力。
服務網格解決方案
阿里服務網格(簡稱 ASM)是一個統一管理微服務應用流量、兼容Istio的托管式平臺。
Nacos用戶可用通過 MSE + ASM 兩個產品快速組合直接進入服務網格時代。ASM 中Istio通過標準 MCP協議跟MSE 中 Nacos打通服務,MSE服務治理基于ASM流量治理原子API 做服務治理,我們的云原生網關也是基于Envoy構建,這樣就可以通過Istio標準的控制東西南北流量,進而提升整個微服務高可用能力。
跨域互通解決方案
一般大公司都會有跨業務域、網絡域、安全域、跨云等場景服務互通的需求,MSE云原生網關打通多個業務域,幾乎所有用戶都能用此方式解決,該模式通用,可管控,安全; 如果是一個網絡域內,并且業務交集多,流量大,可以用Nacos-Sync組件做跨注冊中心服務互通,跨域流量超過100w/s建議再考慮此種模式,該模式管控代價比較大,只能在網絡互通、協議一致場景使用。 當然還有很多用戶采用多注冊和多訂閱完成跨域互通,這樣更無法管控跨域互通,風險無法識別,并且對研發有代價。
微服務高可用解決方案
隨著數字化進程的演進,很多公司跟阿里巴巴一樣會搞大促活動,這樣峰值流量可能壓垮整個系統,導致巨大經濟損失,如果準備過多資源會導致資源浪費。這種場景下可以采用阿里巴巴的PTS+MSE+AHAS+ARMS+ACK產品組合,邊壓、邊限流、邊看,邊彈。通過PTS模擬用戶流量做全鏈路壓測,通過MSE中云原生網關做入口限流,并且通過Nacos發現后端服務轉發,通過ARMS做服務可用性和服務治理觀測,通過鏈路追蹤分析超時、異常等問題,容量不夠通過ACK彈性,從而在性能、高可用、和資源利用率之間做最大平衡。
異地多活解決方案
對于快遞、政府、醫療、金融等國際民生的領域,對業務可用性要求極高,需要具備異地多活的能力。阿里云MSHA提供同城多活和異地多活兩種多活模式,底層采用MSE為微服務基礎。MSE在一個Region內提供同AZ訪問能力,具備同城容災能力,單AZ故障,MSHA從入口將流量切到可用AZ快速恢復。 Region之間通過MSE云原生網關互通,解決服務部署不對等的跨域訪問問題,MSHA通過全局控制流量入口,一個區域不可用從入口開始切流恢復業務。
本次直播回放地址:https://yqh.aliyun.com/live/detail/26356 ,也可掃描看釘釘群直播回放。
原文鏈接:https://developer.aliyun.com/article/790292?
版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Nacos 开源、自研、商业化三位一体战略解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 当视频恋爱 App 用上了 Server
- 下一篇: 庖丁解牛-图解MySQL 8.0优化器查