2019云棲大會—互聯(lián)網(wǎng)中間件

9月26日,在杭州云棲大會上各位專家分享了關(guān)于互聯(lián)網(wǎng)中間件的一些內(nèi)容。

互聯(lián)網(wǎng)中間件的演進(jìn)

首先是阿里云智能中間件首席架構(gòu)師李小平帶來的關(guān)于互聯(lián)網(wǎng)中間件演進(jìn)的分享。

互聯(lián)網(wǎng)中間件的發(fā)展得益于中國互聯(lián)網(wǎng)用戶的規(guī)模,規(guī)模變化使得同時服務(wù)幾億用戶成為挑戰(zhàn)。而飛速發(fā)展的業(yè)務(wù)需要飛速發(fā)展的技術(shù)來支持,技術(shù)一旦上升一個數(shù)量級,復(fù)雜度往往更大。

阿里本身中間件經(jīng)過一段時間的沉淀發(fā)展,提出了Aliware互聯(lián)網(wǎng)Paas產(chǎn)品+中臺的思想,在各行業(yè)快速復(fù)制。幫助客戶進(jìn)行業(yè)務(wù)創(chuàng)新。阿里目前基于互聯(lián)網(wǎng)中間件的業(yè)務(wù)架構(gòu)總體如下:


2019-10-07-15-39-51.png

這種基于互聯(lián)網(wǎng)的中間件給我們帶來了什么呢?

  1. 業(yè)務(wù)規(guī)模: TRS和容量上支持海量業(yè)務(wù)規(guī)模
  2. 穩(wěn)定性提升:通過限流降級、灰度變更、高度冗余來保障穩(wěn)定性
  3. 彈性伸縮:支持分鐘級應(yīng)用實(shí)例創(chuàng)建和快速部署

但同時也面臨著新的挑戰(zhàn):


2019-10-07-15-44-20.png

從互聯(lián)網(wǎng)中間件再往下該怎樣發(fā)展呢,我們選擇擁抱云原生。云原生技術(shù)的關(guān)鍵點(diǎn)包括:

  1. 基于容器技術(shù)和k8s:應(yīng)用發(fā)布和集群管理更容易
  2. Service mesh技術(shù):多語言的微服務(wù)架構(gòu)
  3. Serverless技術(shù):Faas+Baas模式

云原生將極大的改變云的使用方式,相比以往的技術(shù)來說,擁有以下優(yōu)點(diǎn):

  1. 高性能、高可用:中間件能力向底層融合
  2. 簡化的編程范式:Serverless編程模型
  3. 可觀測性、安全性:運(yùn)維方式的影響

主要的價值體現(xiàn)在:

  1. 開發(fā)方式的改變:DevOps、GitOps、應(yīng)用元數(shù)據(jù)定義;不同的業(yè)務(wù)場景選用最合適的語言和技術(shù)框架;面向服務(wù)編程,而非面向計算機(jī)編程。
  2. 部署模式的改變:公有云、私有云、混合云相同的部署模式;消除開發(fā)、測試、準(zhǔn)生產(chǎn)、生產(chǎn)環(huán)境的差異;多種策略進(jìn)行灰度,減少線上風(fēng)險。
  3. 運(yùn)行效率的提升:自動的資源分配、隔離、編排、調(diào)度;彈性伸縮和故障切換,甚至故障自愈能力;基礎(chǔ)設(shè)施的運(yùn)維與應(yīng)用運(yùn)維分離。

阿里關(guān)于云原生中間件的參考架構(gòu)如下:


2019-10-07-16-07-27.png

阿里Serverless架構(gòu)演進(jìn)

接著許曉斌分享了阿里在線應(yīng)用的Serverless架構(gòu)演進(jìn)過程。

首先描述了阿里在線應(yīng)用的業(yè)務(wù)特定:

  1. 在線業(yè)務(wù)對響應(yīng)時間更敏感,一次用戶的請求產(chǎn)生幾十甚至上百次分布式調(diào)用,而最終的響應(yīng)時間直接影響轉(zhuǎn)化率。
  2. 應(yīng)用啟動時間可能很長,幾百s甚至上千s。
  3. 在阿里JAVA語言是絕對的主流。

在業(yè)界,Serverless技術(shù)分層分為3層:

  1. Runtime & Framework層:包括GraalVM、Spring Cloud Function
  2. DevOps層:主要是Knative
  3. Resource層:主要是Firecracker

行業(yè)發(fā)展的特定包括:

  1. 以Faas為Serverless的主流形式,雖然限制非常多
  2. Java并不是業(yè)界Serverless的一等公民,畢竟啟動速度太慢,而GraalVM正致力于降低Java應(yīng)用冷啟動速度。
  3. 提倡開源,包括Knative在內(nèi)的Serverless開源組件都在社區(qū)內(nèi)流行。
  4. 傳統(tǒng)容器技術(shù)不足以滿足安全需求,所以輕量級安全沙箱技術(shù)得以迅速發(fā)展。

通過實(shí)際業(yè)務(wù)情況和業(yè)界的對比可以發(fā)現(xiàn),關(guān)鍵難點(diǎn)在于如何保證在需要的時候在極短的時間(毫秒級)分配好資源、啟動應(yīng)用、保證服務(wù)可用。而實(shí)現(xiàn)該目標(biāo)后,才得以讓多個應(yīng)用錯峰使用同一臺機(jī)器,這也正是Serverless模式比Book模式的優(yōu)勢點(diǎn)。


2019-10-07-16-34-18.png

我們主要使用多級彈性能力和快照技術(shù)來完成該目標(biāo)。


2019-10-07-16-30-41.png

快照技術(shù)則需要在1:1和1:N之間進(jìn)行取舍

2019-10-07-16-37-42.png

阿里整體的Serverless架構(gòu)如下:


2019-10-07-16-38-45.png

互聯(lián)網(wǎng)中間件助力企業(yè)上云

接下來主要是企業(yè)關(guān)于上云的經(jīng)驗(yàn)分享,其中比較重點(diǎn)地推薦了阿里云微服務(wù)應(yīng)用托管平臺EDAS。

阿里云目前提供的企業(yè)級互聯(lián)網(wǎng)架構(gòu)包括:


2019-10-07-16-46-06.png

EDAS作為微服務(wù)托管平臺也是比較核心的產(chǎn)品,融合了配置管理、限流降級、負(fù)載均衡、流量控制、服務(wù)注冊與發(fā)現(xiàn)以及服務(wù)安全等功能。與開源應(yīng)用相比,主要優(yōu)勢在于融合集成了諸多能力,包括0成本接入全鏈路跟蹤、支持限流降級動態(tài)配置、支持配置管理并可實(shí)時推送等。而使用開源軟件,意味著你需要自己搭配使用Dubbo、SkyWalking、Sentinel、Narcos等組件,沒有開箱即用來得方便。

2019-10-07-16-46-43.png

EDAS除了常規(guī)功能外,比較有特點(diǎn)的功能包括


2019-10-07-16-53-00.png

接下來稍微講了一下全鏈路灰度的功能在企業(yè)中的應(yīng)用,包括實(shí)現(xiàn)全鏈路壓測的部分功能(流量打標(biāo)透傳)以及全鏈路灰度集成環(huán)境(主要是抽象了一個類似泳道的概念,應(yīng)用灰度通過打標(biāo)自動實(shí)現(xiàn)而無需單獨(dú)配置)。

2019-10-07-16-58-28.png
2019-10-07-16-58-46.png

阿里云全面支持SkyWalking

SkyWalking是一款開源的APM框架,是Apache頂級項目。阿里云目前通過OpenTracing協(xié)議兼容,支持了SkyWalking探針接入,主要優(yōu)點(diǎn)是無需關(guān)心背后的ES運(yùn)維以及一些功能上的增強(qiáng)。

功能增強(qiáng)主要包括了監(jiān)控、診斷、分析、報警四個部分。

2019-10-07-17-28-14.png
2019-10-07-17-28-36.png
2019-10-07-17-28-49.png
2019-10-07-17-30-02.png

感想

互聯(lián)網(wǎng)中間件應(yīng)該是轉(zhuǎn)型到云原生中間件了,擁抱k8s、serviceMesh以及serverless,關(guān)于這三點(diǎn)對我目前的認(rèn)知水平來說是有些挑戰(zhàn)的。大會上這三點(diǎn)只提到了serverless,這確實(shí)是比較新的技術(shù),在復(fù)用開源組件外,對于JAVA應(yīng)用來說核心的改進(jìn)點(diǎn)在于應(yīng)用的極速啟動。

阿里的云平臺產(chǎn)品基本都是集成了很多組件能力了,EDAS看起來就至少包括了分布式服務(wù)框架、負(fù)載均衡組件、配置中心、分布式鏈路追蹤、應(yīng)用容器技術(shù)以及穩(wěn)定性相關(guān)的彈性伸縮、限流降級、統(tǒng)一開關(guān)等功能或組件。著重提到的鏈路壓測以及集成灰度,一般功能完善的服務(wù)框架也都可以支持,或者改造起來并不困難。

至于Skywalking,使用JAVA探針模式真的很方便擴(kuò)展和集成,很有先見之明。阿里云的功能增強(qiáng)方面主要包括tag聚合分析以及上下游拓?fù)涔δ?,基本上也主要是服?wù)端產(chǎn)品層面的功能完善。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容