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

帶你體驗云原生場景下 Serverless 應用編程模型

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

背景

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

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

架構

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

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

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

接下來我們開始部署該彈幕服務 demo, 操作包括以下內容:

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

第一步:部署消息處理

該服務用于接收事件驅動發送的彈幕請求,并根據請求數進行自動擴縮容,待彈幕消息處理完成之后將結果發送到表格存儲。部署之前,我們先確認當前無工作負載,以便觀察部署之后的結果。

選擇 ask 集群
在集群管理頁左側導航欄中,選擇工作負載 > 無狀態。選擇 default命名空間,確認當前無工作負載

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

  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 

主要參數說明:

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

在集群管理頁左側導航欄中,選擇應用 > Knative
在服務管理頁簽右上角,單擊【使用模版創建】。選擇default 命名空間,將上面的 yaml 內容粘貼到模版,點擊創建。

第二步:部署事件驅動

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

第三步:部署HomePage

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

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

打開服務及函數頁面,確認無彈幕服務及函數

在左側導航欄中,單擊自定義域名,確認無域名信息。

打開自定義域名頁面,確認無自定義域名

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

  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" 

主要參數說明:

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

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

登錄函數計算控制臺。
在頂部菜單欄,選擇地域。
在左側導航欄中,單擊服務及函數,選擇可以看到彈幕服務已經部署完成
打開服務及函數頁面,可以看到HomePage已經部署完成。

第四步:服務訪問

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

接下來我們發送彈幕,這里可以自定義設置需要發送的彈幕消息,并發數以及持續時間。這里我們使用默認配置進行發送。

設置Message、Concurrency以及Duration,點擊【Send】

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

小結

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

責任編輯:梁菲 來源: 阿里云云棲號
相關推薦

2022-11-24 13:43:40

2025-03-19 10:43:46

2019-10-17 17:01:51

云計算開源模型

2019-07-18 12:37:20

高性能計算云原生公共云

2021-09-06 16:55:56

騰訊云Serverless零售

2021-09-06 17:04:29

騰訊云Serverless云原生

2021-08-13 07:00:41

云原生k8sspringboot

2021-08-26 07:20:05

云原生K8sSpringboot

2023-08-24 08:49:27

2021-06-09 05:44:45

云原生 CICD

2023-08-07 08:48:13

2021-10-29 10:12:34

云原生勒索軟件網絡攻擊

2012-10-29 10:49:15

Windows 8SkyDrive

2020-09-18 13:09:15

云原生云安全網絡安全

2015-06-09 23:58:16

IBM

2022-08-24 16:47:01

云原生安全通信

2024-05-13 08:00:00

2022-02-21 09:00:00

云原生應用開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成都精品91一区二区三 | 亚洲综合一区二区三区 | 日韩成人在线看 | 蜜桃精品噜噜噜成人av | 午夜免费视频 | 国产免费一区二区三区网站免费 | 午夜视频网 | 国产欧美在线播放 | 久久免费观看视频 | 激情久久网 | 一区二区免费 | 午夜精品视频一区 | www免费视频 | 成人欧美一区二区三区黑人孕妇 | 久久国产高清 | 青青草网站在线观看 | www精品 | 久久精品久久综合 | 精品欧美一区二区三区久久久 | 在线黄色影院 | 国产日韩视频 | 黄色片免费看 | 日本黄色大片免费 | 精品国产欧美一区二区三区不卡 | 欧美日韩淫片 | 男人的天堂亚洲 | 日本免费黄色 | 国产成人精品a视频一区www | 国产粉嫩尤物极品99综合精品 | 久久国产视频播放 | 夜夜艹天天干 | 一区中文 | 国产精品精品久久久 | 久久蜜桃资源一区二区老牛 | 综合久久综合久久 | 一区二区三区中文字幕 | 国产精品免费一区二区三区四区 | 一久久久 | 免费的色网站 | 成人午夜免费视频 | 国产精品久久性 |