中文字幕日本最新乱码视频,无码av久久久蜜桃成熟时电影,老熟女 露脸 嗷嗷叫,国产女人水真多18毛片18精品

全球領先的云管理服務提供商

思普智云的管理團隊都對云有深刻的理解,從搭建到運營和咨詢,團隊成員分工明確,始終致力于為客戶提供專業(yè)的技術支持和服務。

2019年技術盤點微服務篇(一) | 程序員硬核評測

發(fā)布時間:2019-04-18 06:13:40

作者:孫浩峰

過去幾年來,“微服務架構”方興未艾,盡管這種架構風格沒有確切的定義,但我們已經(jīng)看到許多項目憑借此架構取得了積極的結構,因此對于許多開發(fā)者來說,微服務正成為構建企業(yè)應用程序的默認風格??杀氖牵瑳]有太多的信息概述微服務的風格以及如何去做。而實際上,擁有一個合適的微服務開發(fā)平臺將會非常有助于實現(xiàn)微服務架構,基于此,CSDN云計算特別策劃了微服務平臺盤點系列文章,欲以CSDN中立技術社區(qū)專業(yè)、客觀的角度,探討如何為為開發(fā)者選擇合適的微服務開發(fā)平臺,以幫助其企業(yè)實現(xiàn)微服務架構。為此,我們采訪了數(shù)家提供微服務平臺的云服務廠商,本期,我們的主角是網(wǎng)易云。

輕舟已過萬重山

——2019微服務盤點之網(wǎng)易云輕舟微服務平臺

當前,在互聯(lián)網(wǎng)領域,微服務架構是業(yè)務規(guī)模達到一定程度的團隊的標配,這些團隊配備完整微服務工具和平臺,實現(xiàn)熔斷、限流、降級等服務治理策略和包括CI/CD在內(nèi)的DevOps自動化運維;在傳統(tǒng)領域,服務化架構也是傳統(tǒng)企業(yè)數(shù)字化轉(zhuǎn)型的核心技術之一,比如物流、銀行、證券、工業(yè)制造等行業(yè)的很多企業(yè),都已經(jīng)實施微服務化的改造,一些行業(yè)領頭羊,甚至已經(jīng)向互聯(lián)網(wǎng)企業(yè)看齊,構建了自己的微服務平臺。

微服務面臨的困難和挑戰(zhàn)

企業(yè)對微服務平臺的熱衷,需要從微服務開發(fā)說起。微服務開發(fā)并不是一件簡單的事情,很多企業(yè)在微服務開發(fā)時都面臨著困難和挑戰(zhàn),這主要體現(xiàn)在技術和業(yè)務兩個方面:

從技術方面看, 微服務體系非常復雜,開發(fā)框架的建設,無論采用Spring Cloud、Dubbo還是自研RPC,抑或Service Mesh,門檻都非常高,比如采用Spring Cloud體系,需要微服務開發(fā)者掌握等Eureka(服務注冊/發(fā)現(xiàn))、Hystrix(熔斷器、線程隔離)、Ribbon(負載均衡)、Zuul(API網(wǎng)關)、Config(配置中心)等組件,而且原生Spring Cloud組件在某些場景下缺乏靈活性,甚至存在一些BUG,需要團隊擁有很強的技術實力。由此,微服務架構也帶來了人才缺口、人力成本上升的問題。

業(yè)務方面, 業(yè)務邊界的確定過程,即服務建模的過程,是服務拆分中最重要的工作,然而很多業(yè)務邊界不那么直觀,比如支付服務和結算服務都涉及賬戶余額數(shù)據(jù)。當然,邊界能夠梳理清楚,微服務對業(yè)務發(fā)展的促進作用也是巨大的。

微服務的本質(zhì)

實際上,微服務是核心的云原生技術,它的本質(zhì)是通過分布式架構解決兩大業(yè)務訴求:快速迭代和彈性伸縮,充分釋放云基礎設施的潛力,這決定了微服務是一個復雜的系統(tǒng),引入微服務,除了服務注冊/發(fā)現(xiàn)、負載均衡,企業(yè)還要解決分布式系統(tǒng)的集群容錯、系統(tǒng)的可用性和可擴展性,服務數(shù)量多了之后的配置管理、部署調(diào)度,還有如何進行日志和監(jiān)控的統(tǒng)一管理、如何進行服務調(diào)用跟蹤等方面的挑戰(zhàn)。針對每一項挑戰(zhàn),企業(yè)都需要引入大量的基礎技術平臺和框架組件來解決。

所以,如果沒有一個平臺支撐微服務開發(fā),業(yè)務開發(fā)者勢必深陷基礎架構建設與優(yōu)化的泥潭,而有了專業(yè)的平臺,業(yè)務開發(fā)者就可以專注于價值更高的核心業(yè)務。

評判微服務平臺的標準

面對眾多微服務平臺,如何選擇仍然是一個困難的事情,網(wǎng)易云架構師,輕舟微服務技術負責人馮常健認為評判一項技術產(chǎn)品的唯一標準是它的業(yè)務價值,微服務平臺要實現(xiàn)加速數(shù)字化業(yè)務發(fā)展的價值,應當具備如下六個特征:

1. 業(yè)務無侵入: 治理邏輯不侵入業(yè)務代碼,讓業(yè)務開發(fā)者無需關注和學習治理相關的技術,引入和升級服務治理框架不會帶來業(yè)務改造的額外成本。

2. 功能完備 :不僅包括服務注冊/發(fā)現(xiàn)、降級、限流、容錯、負載均衡、分流等服務治理全家桶,還需要配備CI/CD、容器化、全鏈路監(jiān)控、自動化測試等工具,覆蓋微服務應用全生命周期。

3. 安全穩(wěn)定 :提供統(tǒng)一的認證、鑒權機制,同時保障業(yè)務系統(tǒng)穩(wěn)定運行。

4. 易于接入 :業(yè)務系統(tǒng)可以快速接入框架和平臺,同時通過平臺實時配置治理策略。

5. 跨平臺性 :支持跨不同的基礎設施,跨不同平臺和語言。

6. 生態(tài)親和性 :符合微服務技術和架構趨勢,同時具備長遠的擴展性。

網(wǎng)易云輕舟微服務平臺

網(wǎng)易云開發(fā)的微服務平臺叫“輕舟微服務平臺”,其中微服務框架組件(NSF)是它的核心。輕舟微服務框架的開發(fā),是網(wǎng)易云調(diào)研業(yè)界存在的Spring Cloud、Dubbo、自研RPC和Service Mesh等方案之后做的決定。由于這四種方式各有優(yōu)劣,并且學習成本和使用成本都很高,網(wǎng)易云希望打造一個更通用、侵入性更低、能力更全面的微服務框架,讓業(yè)務系統(tǒng)開發(fā)者無需關注和學習治理相關技術、無需修改業(yè)務系統(tǒng)代碼,就可以快速引入微服務架構。

這并不意味著從零開始造輪子。事實上,輕舟微服務框架基于Spring Cloud進行源碼級的定制和優(yōu)化,在首個穩(wěn)定版本中,輕舟微服務框架解決了服務的治理、流控、監(jiān)控、告警、動態(tài)配置、安全認證等問題,通過NSF Java Agent增強實現(xiàn)了治理邏輯不侵入業(yè)務代碼,并全面兼容Spring Cloud、Dubbo等開源框架,確保用戶原有微服務的快速接入。隨后,團隊又探索了對具有下一代微服務之稱的Service Mesh的支持。

網(wǎng)易云輕舟微服務框架整體架構

除了實現(xiàn)了治理無侵入,支持多種服務治理框架,網(wǎng)易云輕舟微服務平臺還通過一個圖形化的統(tǒng)一控制中心提供了完備的工具鏈,包括DevOps、容器、APM、API網(wǎng)關、接口測試等組件,覆蓋開發(fā)、測試、構建、發(fā)布到上線運行、治理、運維以及故障排查,并在網(wǎng)易千萬級DAU大規(guī)模業(yè)務的生產(chǎn)環(huán)境中經(jīng)受住了考驗。

網(wǎng)易云輕舟微服務平臺整體架構

不過,輕舟微服務平臺的研發(fā)也并非一蹴而就,馮常健坦言,分布式系統(tǒng)本身就是一個復雜的課題,輕舟微服務平臺的要求又是集完備性、實用性、易用性于一身,從產(chǎn)品設計、技術選型、定制開發(fā)到源碼優(yōu)化,每一步都有很多的困難,所幸網(wǎng)易云團隊從十多年前的博客時代就開始面對用戶量、訪問量暴增和產(chǎn)品高速迭代的挑戰(zhàn),沉淀了一套工程化、服務化、自動化的工具集,也積累了豐富的云計算架構和分布式系統(tǒng)研發(fā)經(jīng)驗,以及源碼分析能力,社區(qū)又有很多最佳實踐考驗參考,才得以順利地完成這個項目。

微服務的拆分

即使擁有一個出色的微服務開發(fā)平臺,如果不能很好的界定如何進行服務拆分以及對組織架構進行調(diào)整,微服務的實現(xiàn)仍然會困難重重。馮常健認為,服務拆分的基本原則是“高內(nèi)聚、低耦合”,設計功能高度內(nèi)聚的服務,每次修改只涉及較少的服務,可以達到快速發(fā)布和交付的目的。如果服務間耦合過緊,就會出現(xiàn)對一個服務的修改導致另一個服務被動也需要修改的問題,影響系統(tǒng)功能的交付。全新設計系統(tǒng)的拆分步驟是:數(shù)據(jù)庫獨立、代碼獨立、確定服務間通信方式、服務獨立發(fā)布與部署;歷史遺留系統(tǒng)的服務化改造需要重點關注系統(tǒng)架構的平滑過渡,步驟是:分析業(yè)務邊界、凍結遺留服務、拆分新服務、訂正數(shù)據(jù)、循環(huán)迭代。

對于復雜業(yè)務拆分,每個業(yè)務并不一定只能拆成一個組件,需要實際分析;業(yè)務過于龐大必須進行拆分,拆分出來的必須是相對獨立和龐大的業(yè)務;如果業(yè)務較小但是比較多,類型相似,可以不用著急拆分。對于重耦合業(yè)務拆分,先在原有服務中獨立功能模塊,規(guī)范輸入輸出,形成服務內(nèi)部的分離;再新建工程,只轉(zhuǎn)流量,不做代碼遷移,通過新建的工程對外提供服務,替代老的接口;然后將老工程的接口復制到新工程,在新工程的接口調(diào)用上,使用熱開關進行容災;最后優(yōu)化新工程的邏輯,刪除老工程的相關代碼。

重耦合業(yè)務拆分步驟

應用架構的演進也牽連著組織架構的變革。組織架構方面,對微服務至關重要的是組織DevOps化,環(huán)境交付、Dockerfile書寫提前到開發(fā)環(huán)節(jié),服務注冊、發(fā)現(xiàn)、治理、配置等,下沉成為運維團隊統(tǒng)一管理的基礎設施。如下圖為網(wǎng)易杭州研究院DevOps組織架構,數(shù)據(jù)中心由運維部門管理,上面是云平臺組,基于OpenStack的云平臺上,包括了PaaS、容器、微服務管理和治理等組件。業(yè)務部門的中間件組或者架構組和云平臺組溝通密切,共同探討如何以正確的姿勢使用云平臺組件;最上面是業(yè)務部門的前端組、業(yè)務開發(fā)組和中臺開發(fā)組。當然,小團隊自主決策也很重要。

網(wǎng)易杭州研究院DevOps組織架構

網(wǎng)易云微服務平臺的未來

談到輕舟微服務平臺的未來,馮常健表示,輕舟微服務平臺的開發(fā),是源自業(yè)務的驅(qū)動,輕舟微服務開發(fā)框架的最大愿景,就是讓業(yè)務系統(tǒng)開發(fā)者無需關注和學習治理相關技術、無需修改業(yè)務系統(tǒng)代碼就可以快速引入服務治理能力。微服務相關技術的未來發(fā)展,網(wǎng)易云目前主要關注兩個方面:

第一是Service Mesh,它的主要作用就是將服務治理下沉到平臺層,進行統(tǒng)一的治理。微服務框架的統(tǒng)一,涉及到多語言、和應用層綁定等問題,無論是Spring Cloud還是Dubbo,都很難完全平臺化,所以需要Service Mesh;輕舟已經(jīng)基于Envoy做優(yōu)化和改進,提供高性能的微服務通信網(wǎng)絡,形成自己的數(shù)據(jù)面組件,并無縫對接輕舟微服務控制平臺。鑒于目前不同業(yè)務服務化改造進度不同,有些業(yè)務仍用傳統(tǒng)虛擬機方式部署,有些業(yè)務選擇了不同的服務化注冊中心,為了讓業(yè)務能更低成本地接入Service Mesh,輕舟對Istio和Envoy都進行了擴展,使其能支持非容器化環(huán)境和多注冊中心,滿足業(yè)務平滑遷移的需求。

第二是AIOps和智能調(diào)度,就是通過對于海量數(shù)據(jù)中心收集的監(jiān)控數(shù)據(jù)和業(yè)務數(shù)據(jù),實現(xiàn)業(yè)務的自動調(diào)度和參數(shù)調(diào)整。隨著微服務化和容器化,服務的數(shù)量會十分的龐大,運維難度大幅度提高,基于AIOps和智能調(diào)度提高效率節(jié)約成本勢在必然。

技術點評

作為網(wǎng)易云重點打造的微服務平臺,輕舟微服務平臺有著鮮明的特點:

首先,基于開源、兼容開源:容器平臺基于Kubernetes和Docker,服務治理兼容Spring Cloud、Dubbo和Service Mesh,監(jiān)控追蹤采用OpenTracing、Zipkin、Promethus和Jaeger。

其次,低成本、易接入:支持代碼零改動接入微服務框架,提供非侵入式探針,支持應用拓撲可視化,支持統(tǒng)一的平臺認證&權限管控。

第三,立體化監(jiān)控:支持實時監(jiān)控,精準掌控服務健康狀況;支持服務拓撲,調(diào)用鏈跟蹤可視化呈現(xiàn);支持多維度關聯(lián)分析,預防系統(tǒng)級故障。

最后,超大規(guī)模的管理能力:容器管理支持單集群3萬節(jié)點、45萬容器的規(guī)模,注冊中心提供單節(jié)點10,000個服務實例的注冊能力。

為了實現(xiàn)這些特點,輕舟做了很多深度定制和優(yōu)化。例如無侵入性的實現(xiàn),輕舟微服務主要采用Javaagent字節(jié)碼增強技術,將服務治理邏輯以獨立Jar包的方式提供加載。為支持更大的并發(fā),輕舟微服務后端采用全分布式架構,能支持單節(jié)點20,000個服務實例同時在線,支持水平擴展,并提供99.99%以上的可用性。

這些特點,都使得輕舟微服務平臺能夠幫助企業(yè)開發(fā)團隊能夠以較小的投入和代價,敏捷迅速的實現(xiàn)微服務架構,真可謂“輕舟已過萬重山!