日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
帶你體驗云原生場景下Serverless應(yīng)用編程模型

帶你體驗云原生場景下 serverless 應(yīng)用編程模型

作者:佚名 2021-10-26 10:52:51

網(wǎng)絡(luò)

云原生 阿里云 Serverless Kubernetes(ASK) 是阿里云推出的無服務(wù)器 Kubernetes 容器服務(wù),底層基于 ECI(Elastic Container Instance)讓您無需購買 ECS 節(jié)點就能直接創(chuàng)建安全隔離的容器應(yīng)用。

創(chuàng)新互聯(lián)致力于網(wǎng)站制作、成都網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計,集團網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場競爭中脫穎而出。 選擇創(chuàng)新互聯(lián),就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!

背景

阿里云 Serverless Kubernetes(ASK) 是阿里云推出的無服務(wù)器 Kubernetes 容器服務(wù),底層基于 ECI(Elastic Container Instance)讓您無需購買 ECS 節(jié)點就能直接創(chuàng)建安全隔離的容器應(yīng)用。 ASK 通過了 Kubernetes 的一致性測試,給您提供了完全兼容社區(qū) Kubernetes 的使用體驗。

Knative 是一款基于 Kubernetes 的開源 Serverless 應(yīng)用編排框架,其目標(biāo)是制定云原生、跨平臺的Serverless應(yīng)用編排標(biāo)準(zhǔn)。阿里云 Knative 基于 ASK 之上,在完全兼容社區(qū) Knaitve 的同時對 FC、ECI 工作負(fù)載進行統(tǒng)一應(yīng)用編排,支持事件驅(qū)動、自動彈性,為您提供統(tǒng)一的 Serverless 應(yīng)用編程模型。

架構(gòu)

接下來我們通過一個彈幕服務(wù) demo 進行介紹。該 demo 主要包括 HomePage、事件驅(qū)動、消息處理這 3 部分。

HomePage 主要用于發(fā)送和接收彈幕。事件驅(qū)動用來接收事件,并進行事件過濾、流轉(zhuǎn)。消息處理,用于處理彈幕消息。其中 HomePage、消息處理通過 Knative Serving 部署分別到 FC、ECI,事件驅(qū)動通過 Knative Eventing 部署到ECI。

彈幕服務(wù) demo 主要流程如圖,用戶通過前端發(fā)送彈幕消息到 HomePage,HomePage 接著將彈幕發(fā)送到 Kafka,事件驅(qū)動接收彈幕消息,然后路由到消息處理進行加工,待彈幕加工完之后,將彈幕結(jié)果發(fā)送到表格存儲中,最后前端獲取彈幕結(jié)果在頁面展示。

接下來我們開始部署該彈幕服務(wù) demo, 操作包括以下內(nèi)容:

首先部署消息處理,然后部署事件驅(qū)動,接著部署 HomePage,待部署完成之后進行彈幕服務(wù)訪問

第一步:部署消息處理

該服務(wù)用于接收事件驅(qū)動發(fā)送的彈幕請求,并根據(jù)請求數(shù)進行自動擴縮容,待彈幕消息處理完成之后將結(jié)果發(fā)送到表格存儲。部署之前,我們先確認(rèn)當(dāng)前無工作負(fù)載,以便觀察部署之后的結(jié)果。

選擇 ask 集群
在集群管理頁左側(cè)導(dǎo)航欄中,選擇工作負(fù)載 > 無狀態(tài)。選擇 default命名空間,確認(rèn)當(dāng)前無工作負(fù)載

接著通過 Knative 把彈消息處理部署到 ECI 類型工作負(fù)載。這里我們通過yaml的方式進行部署,yaml內(nèi)容如下:

  
 
 
 
  1. apiVersion: serving.knative.dev/v1kind: Servicemetadata:  name: test-barrage-processspec:  template:    metadata:      annotations:        autoscaling.knative.dev/maxScale: "100"        autoscaling.knative.dev/minScale: "0"        k8s.aliyun.com/eci-image-snapshot-id: imc-uf636kjjx8xr4e75npex      labels:        danmu.role: "manager"    spec:      containerConcurrency: 2      serviceAccountName: barrage-install-sa      containers:        - args:            - /manager          env:            - name: OTS_ENDPOINT              value: https://barrage.cn-hangzhou.tablestore.aliyuncs.com            - name: TABLE_NAME              value: barrage            - name: OTS_INSTANCENAME              value: barrage            - name: OTS_KEYID              value: xxx            - name: OTS_SECRET              value: xxx            - name: POD_NAME              valueFrom:                fieldRef:                  fieldPath: metadata.name            - name: ROLE              value: manager            - name: POD_NAMESPACE              valueFrom:                fieldRef:                  fieldPath: metadata.namespace            - name: TRACE_NAME              value: "process"            - name: PARENT_SPAN              value: "barrage-sender"            - name: SUB_SPAN              value: "process"            - name: TRACING              value: "http://tracing-analysis-dc-sh.aliyuncs.com/adapt_g2it2kg78n@5cf06035aec2eb9_g2it2kg78n@53df7ad2afe8301/api/traces"          image: registry-vpc.cn-shanghai.aliyuncs.com/knative-sample/barrage-manager:forrester-yuanyi_4cd77c84-20210618215458          name: user-container          ports:            - containerPort: 8000              name: http1 

主要參數(shù)說明:

minScale和maxScale:表示服務(wù)配置的最小和最大Pod數(shù)量
containerConcurrency:表示配置的Pod最大請求并發(fā)數(shù)
OTS_ENDPOINT:表示配置的表格存儲訪問地址
TRACING:表示配置的調(diào)用連地址
那么接下來我們部署該服務(wù)。

在集群管理頁左側(cè)導(dǎo)航欄中,選擇應(yīng)用 > Knative。
在服務(wù)管理頁簽右上角,單擊【使用模版創(chuàng)建】。選擇default 命名空間,將上面的 yaml 內(nèi)容粘貼到模版,點擊創(chuàng)建。

第二步:部署事件驅(qū)動

事件驅(qū)動用于接收事件并進行事件流過濾、流轉(zhuǎn)。這里我們使用 Kafka 事件源作為事件驅(qū)動,用于從 Kafka 接收彈幕消息,然后把彈幕路由到消息處理。我們通過yaml的方式進行部署, yaml內(nèi)容如下:

第三步:部署HomePage

該服務(wù)用于接收前端彈幕消息,并將彈幕消息發(fā)送到 Kafka,同時從表格存儲中接收彈幕結(jié)果。這里通過 Knative 函數(shù)方式部署之后,會自動在FC中創(chuàng)建服務(wù)、函數(shù)、自定義域名。操作之前我們先確認(rèn)FC中無彈幕服務(wù)、函數(shù)以及自定義域名。

登錄FC控制臺
在頂部菜單欄,選擇地域(上海)。

打開服務(wù)及函數(shù)頁面,確認(rèn)無彈幕服務(wù)及函數(shù)

在左側(cè)導(dǎo)航欄中,單擊自定義域名,確認(rèn)無域名信息。

打開自定義域名頁面,確認(rèn)無自定義域名

接下來我們通過 Knative 把HomePage部署到FC類型工作負(fù)載。這里我們通過yaml的方式進行部署, yaml內(nèi)容如下:

  
 
 
 
  1. apiVersion: serving.knative.dev/v1kind: Servicemetadata:  name: demo-barrage  annotations:    workload.serving.knative.aliyun.com/class: "fc"spec:  template:    metadata:      annotations:        fc.revision.serving.knative.aliyun.com/code-space: "image"        fc.revision.serving.knative.aliyun.com/role-arm: "acs:ram::xxxx:role/knative-fc"        fc.revision.serving.knative.aliyun.com/domain: '{"domain":"barrage.demo.knative.top","path":"/*"}'    spec:      containers:        - image: registry.cn-shanghai.aliyuncs.com/knative-sample/barrage-main:forrester-yuanyi_4cd77c84-20210618214527          env:            - name: OTS_ENDPOINT              value: https://barrage.cn-hangzhou.ots.aliyuncs.com            - name: TABLE_NAME              value: barrage            - name: OTS_INSTANCENAME              value: barrage            - name: OTS_KEYID              value: xxx            - name: OTS_SECRET              value: xxx            - name: KAFKA_SERVER              value: "106.15.11.179:9093,47.100.131.71:9093,47.102.44.91:9093"            - name: KAFKA_USER              value: "alikafka_pre-cn-xxx"            - name: KAFKA_PWD              value: "xxx"            - name: KAFKA_TOPIC              value: "barrage-info"            - name: TRACING              value: "http://tracing-analysis-dc-sh.aliyuncs.com/adapt_g2it2kg78n@5cf06035aec2eb9_g2it2kg78n@53df7ad2afe8301/api/traces"            - name: TRACE_NAME1              value: "sender"            - name: TRACE_NAME2              value: "receiver"            - name: TRACE_NAME3              value: "result"            - name: PARENT_SPAN              value: "barrage-sender"            - name: SUB_SPAN1              value: "sender"            - name: SUB_SPAN2              value: "result" 

主要參數(shù)說明:

fc 相關(guān)參數(shù)配置包括: 部署fc類型的工作負(fù)載、通過鏡像方式部署,并指定訪問域名為: barrage.demo.knative.top
配置表格存儲訪問地址: OTS_ENDPOINT
kafka 相關(guān)參數(shù)配置:kafka服務(wù)地址、彈幕消息 topic
調(diào)用連地址配置:TRACING
那么我們來部署該服務(wù)。

登錄容器服務(wù)管理控制臺。
在集群管理頁左側(cè)導(dǎo)航欄中,選擇應(yīng)用 > Knative
服務(wù)管理頁簽右上角,單擊【使用模版創(chuàng)建】。選擇default 命名空間,將上面的 yaml 內(nèi)容粘貼到模版,點擊創(chuàng)建。
部署完成之后,我們在函數(shù)計算控制臺驗證一下。

登錄函數(shù)計算控制臺。
在頂部菜單欄,選擇地域。
在左側(cè)導(dǎo)航欄中,單擊服務(wù)及函數(shù),選擇可以看到彈幕服務(wù)已經(jīng)部署完成
打開服務(wù)及函數(shù)頁面,可以看到HomePage已經(jīng)部署完成。

第四步:服務(wù)訪問

以上服務(wù)都已部署完成,接著我們通過自定義域名進行服務(wù)訪問。http://barrage.demo.knative.top

接下來我們發(fā)送彈幕,這里可以自定義設(shè)置需要發(fā)送的彈幕消息,并發(fā)數(shù)以及持續(xù)時間。這里我們使用默認(rèn)配置進行發(fā)送。

設(shè)置Message、Concurrency以及Duration,點擊【Send】

我們可以看到不斷有彈幕消息展示出來。

小結(jié)

阿里云 Knative 在 Serverless Kubernetes 之上,提供了面向容器+函數(shù)的統(tǒng)一編程模型,給你帶來統(tǒng)一的Serverless 應(yīng)用編程模型。歡迎有興趣的同學(xué)一起交流。


新聞名稱:帶你體驗云原生場景下Serverless應(yīng)用編程模型
當(dāng)前地址:http://www.5511xx.com/article/cdccsos.html