日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

带你体验云原生场景下 Serverless 应用编程模型

發(fā)布時(shí)間:2024/8/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 带你体验云原生场景下 Serverless 应用编程模型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡介:?阿里云 Knative 基于 ASK 之上,在完全兼容社區(qū) Knaitve 的同時(shí)對(duì) FC、ECI 工作負(fù)載進(jìn)行統(tǒng)一應(yīng)用編排,支持事件驅(qū)動(dòng)、自動(dòng)彈性,為您提供統(tǒng)一的 Serverless 應(yīng)用編程模型。

背景

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

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

架構(gòu)

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

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

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

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

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

第一步:部署消息處理

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

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

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

apiVersion: serving.knative.dev/v1 kind: Service metadata:name: test-barrage-process spec:template:metadata:annotations:autoscaling.knative.dev/maxScale: "100"autoscaling.knative.dev/minScale: "0"k8s.aliyun.com/eci-image-snapshot-id: imc-uf636kjjx8xr4e75npexlabels:danmu.role: "manager"spec:containerConcurrency: 2serviceAccountName: barrage-install-sacontainers:- args:- /managerenv:- name: OTS_ENDPOINTvalue: https://barrage.cn-hangzhou.tablestore.aliyuncs.com- name: TABLE_NAMEvalue: barrage- name: OTS_INSTANCENAMEvalue: barrage- name: OTS_KEYIDvalue: xxx- name: OTS_SECRETvalue: xxx- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: ROLEvalue: manager- name: POD_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespace- name: TRACE_NAMEvalue: "process"- name: PARENT_SPANvalue: "barrage-sender"- name: SUB_SPANvalue: "process"- name: TRACINGvalue: "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-20210618215458name: user-containerports:- containerPort: 8000name: http1

主要參數(shù)說明:

  • minScale和maxScale:表示服務(wù)配置的最小和最大Pod數(shù)量
  • containerConcurrency:表示配置的Pod最大請(qǐng)求并發(fā)數(shù)
  • OTS_ENDPOINT:表示配置的表格存儲(chǔ)訪問地址
  • TRACING:表示配置的調(diào)用連地址

那么接下來我們部署該服務(wù)。

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

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

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

apiVersion: sources.knative.dev/v1alpha1 kind: KafkaSource metadata:annotations:k8s.aliyun.com/req-timeout: "60"k8s.aliyun.com/retry-count: "5"k8s.aliyun.com/retry-interval: "2"name: barragenamespace: default spec:bootstrapServers: 192.168.42.205:9092,192.168.42.204:9092,192.168.42.203:9092consumerGroup: barrage-info-consumersink:ref:apiVersion: serving.knative.dev/v1kind: Servicename: test-barrage-processnamespace: defaulttopics: barrage-info

主要參數(shù)說明:

  • kafka配置包括:kafka服務(wù)地址 ,彈幕消息 topics 以及消費(fèi)組 consumerGroup
  • 路由的目標(biāo)消息處理:test-barrage-process

那么接下來我們部署該服務(wù)。

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

以上消息處理和事件驅(qū)動(dòng)都已部署完成,我們來驗(yàn)證一下。

(在集群管理頁左側(cè)導(dǎo)航欄中,選擇工作負(fù)載 > 容器組)

在容器組中,可以看到消息處理以及 Kafka 事件源實(shí)例都已 running

第三步:部署HomePage

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

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

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

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

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

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

apiVersion: serving.knative.dev/v1 kind: Service metadata:name: demo-barrageannotations: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-20210618214527env:- name: OTS_ENDPOINTvalue: https://barrage.cn-hangzhou.ots.aliyuncs.com- name: TABLE_NAMEvalue: barrage- name: OTS_INSTANCENAMEvalue: barrage- name: OTS_KEYIDvalue: xxx- name: OTS_SECRETvalue: xxx- name: KAFKA_SERVERvalue: "106.15.11.179:9093,47.100.131.71:9093,47.102.44.91:9093"- name: KAFKA_USERvalue: "alikafka_pre-cn-xxx"- name: KAFKA_PWDvalue: "xxx"- name: KAFKA_TOPICvalue: "barrage-info"- name: TRACINGvalue: "http://tracing-analysis-dc-sh.aliyuncs.com/adapt_g2it2kg78n@5cf06035aec2eb9_g2it2kg78n@53df7ad2afe8301/api/traces"- name: TRACE_NAME1value: "sender"- name: TRACE_NAME2value: "receiver"- name: TRACE_NAME3value: "result"- name: PARENT_SPANvalue: "barrage-sender"- name: SUB_SPAN1value: "sender"- name: SUB_SPAN2value: "result"

主要參數(shù)說明:

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

那么我們來部署該服務(wù)。

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

部署完成之后,我們?cè)诤瘮?shù)計(jì)算控制臺(tái)驗(yàn)證一下。

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

打開服務(wù)及函數(shù)頁面,可以看到HomePage已經(jīng)部署完成。

  • 在左側(cè)導(dǎo)航欄中,單擊自定義域名。

打開自定義域名頁面可以看到自動(dòng)創(chuàng)建出來了我們配置的域名。

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

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

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

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

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

小結(jié)

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

原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?

總結(jié)

以上是生活随笔為你收集整理的带你体验云原生场景下 Serverless 应用编程模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕最新在线 | 农村少妇无套内谢粗又长 | 91国产视频在线观看 | 午夜精品一区二区三区在线 | 天天操夜操 | www超碰在线| 亚洲精品乱码久久久久久蜜桃动漫 | 成人网页 | 欧美色吊丝| 国产精品黄网站 | 日韩午夜影院 | 国产日韩av在线 | 不卡视频一区二区 | 国语对白做受按摩的注意事项 | 性午夜| 在线播放一区 | 亚洲观看黄色网 | 长河落日电视连续剧免费观看 | 欧美日韩一级片在线观看 | 国产h片在线观看 | 麻豆免费在线观看视频 | 亚洲成a人在线观看 | 免费麻豆视频 | 欧美自拍色图 | 国产人妖在线播放 | 国产精品电影一区二区三区 | 中文在线а√在线 | 亚洲视频在线观看 | 日日狠狠久久 | 国产成人传媒 | 欧美第一精品 | 婷婷久| 黄色av网站免费看 | 国产综合精品一区二区三区 | 亚洲区一 | 国产免费自拍视频 | 中文字幕欧美激情 | 成人毛片网站 | 男女日批在线观看 | 久久精品视频网 | wwwwww国产| 无码人妻精品丰满熟人区 | 色播日韩| 日本在线中文 | 丁香一区二区三区 | 91蜜桃在线 | 91视频a| 欧美日韩激情在线一区二区三区 | 亚洲精华国产精华精华液网站 | 毛片一级视频 | 国产av不卡一区二区 | www.色图| 亚洲精品97久久 | 国产色播av在线 | 国产a一区二区三区 | 琪琪秋霞午夜被窝电影网 | 日本一区二区在线不卡 | 美女视频一区 | 奇米影 | 国产传媒一区 | 国产成人一区二区三区影院在线 | 尤物videos另类xxxx | 伊人资源网 | 超碰97在线免费观看 | 午夜免费网 | 亚洲狼人在线 | 99视频免费看 | 精品视频一二三 | 国产美女极度色诱视频www | 免费在线性爱视频 | 一级做a爰 | 视频免费在线 | 国产精品系列在线观看 | 暖暖av在线| 久久久精品免费看 | 欧美gv在线 | 动漫美女隐私无遮挡 | 99久久亚洲精品日本无码 | 色乱码一区二区三在线看 | 91在线观看视频 | 精品一区二区三区电影 | 久久77| av制服丝袜在线 | 亚洲一本在线 | 亚洲人无码成www久久 | 白嫩情侣偷拍呻吟刺激 | 毛片91 | 九九视频免费观看 | 天天干少妇 | 精品国产乱码久久久久久88av | 三级伦理片 | 欧洲美女粗暴牲交免费观看 | 亚洲不卡在线视频 | 一级特黄色片 | 白嫩日本少妇做爰 | 北条麻妃av在线 | 人妻丰满熟妇av无码区不卡 | 欧美v视频| 日韩欧美网 |