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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Knative Eventing 中如何实现 Registry 事件注册机制

發(fā)布時間:2024/8/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Knative Eventing 中如何实现 Registry 事件注册机制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景

作為事件消費者,之前是無法事先知道哪些事件可以被消費,如果能通過某種方式獲得哪些 Broker 提供哪些事件,那么事件消費者就能很方便通過這些 Broker 消費事件。Registry 就是在這樣的背景下被提出的,通過 Registry 機制,消費者能針對特定的 Broker 的事件通過 Trigger 進行事件訂閱消費。這里需要說明一下,Registry 設(shè)計與實現(xiàn)目前是針對 Broker/Trigger 事件處理模型。

訴求

  • 每個Registry 對應(yīng)一個 Namespace 作為資源隔離的邊界
  • Registry 中包括事件類型列表,以提供事件發(fā)現(xiàn)機制,通過事件列表,我們可以決定對哪些 Ready 的事件進行消費
  • 由于事件最終需要通過 Trigger 進行訂閱,因此事件類型信息中需要包括創(chuàng)建 Trigger 所需要的信息。

實現(xiàn)

定義 EventType CRD 資源

定義 EventType 類型的CRD資源,示例yaml:

apiVersion: eventing.knative.dev/v1alpha1 kind: EventType metadata:name: com.github.pullrequestnamespace: default spec:type: com.github.pull_requestsource: github.comschema: //github.com/schemas/pull_requestdescription: "GitHub pull request"broker: default
  • name: 設(shè)置時需要符合k8s命名規(guī)范
  • type:遵循CloudEvent 類型設(shè)置。
  • source: 遵循 CloudEvent source設(shè)置。
  • schema: 可以是JSON schema, protobuf schema等。可選項。
  • description: 事件描述,可選項。
  • broker: 所提供 EventType 的 Broker。

事件注冊與發(fā)現(xiàn)

1.創(chuàng)建 EventType
一般我們通過以下兩種方式創(chuàng)建 EventType 實現(xiàn)事件的注冊。
1.1通過Event 事件源實例自動注冊
基于事件源實例,通過事件源控制器創(chuàng)建 EventType 進行注冊:

apiVersion: sources.eventing.knative.dev/v1alpha1 kind: GitHubSource metadata:name: github-source-samplenamespace: default spec:eventTypes:- push- pull_requestownerAndRepository: my-other-user/my-other-repoaccessToken:secretKeyRef:name: github-secretkey: accessTokensecretToken:secretKeyRef:name: github-secretkey: secretTokensink:apiVersion: eventing.knative.dev/v1alpha1kind: Brokername: default

通過運行上面的yaml信息,通過GitHubSource 事件源控制器可以創(chuàng)建事件類型dev.knative.source.github.push以及事件類型dev.knative.source.github.pull_request這兩個EventType進行注冊,其中source為github.com以及名稱為default的Broker。具體如下:

apiVersion: eventing.knative.dev/v1alpha1 kind: EventType metadata:generateName: dev.knative.source.github.push-namespace: defaultowner: # Owned by github-source-sample spec:type: dev.knative.source.github.pushsource: github.combroker: default --- apiVersion: eventing.knative.dev/v1alpha1 kind: EventType metadata:generateName: dev.knative.source.github.pullrequest-namespace: defaultowner: # Owned by github-source-sample spec:type: dev.knative.source.github.pull_requestsource: github.combroker: default

這里有兩點需要注意:

  • 通過自動生成默認名稱,避免名稱沖突。對于是否應(yīng)該在代碼(在本例中是GithubSource控制器)創(chuàng)建事件類型時生成,需要進一步討論。
  • 我們給spec.type加上了dev.knative.source.github.前綴,這個也需要進一步討論確定是否合理。

1.2手動注冊
直接通過創(chuàng)建EventType CR資源實現(xiàn)注冊,如:

apiVersion: eventing.knative.dev/v1alpha1 kind: EventType metadata:name: org.bitbucket.repoforknamespace: default spec:type: org.bitbucket.repo:forksource: bitbucket.orgbroker: devdescription: "BitBucket fork"

通過這種方式可以注冊名稱為org.bitbucket.repofork, type 為?org.bitbucket.repo:fork, source 為?bitbucket.org?以及屬于dev?Broker 的 EventType。

2.獲取 Registry 的事件注冊
事件消費者可以通過如下方式獲取 Registry 的事件注冊列表:
$ kubectl get eventtypes -n default

NAME TYPE SOURCE SCHEMA BROKER DESCRIPTION READY REASON org.bitbucket.repofork org.bitbucket.repo:fork bitbucket.org dev BitBucket fork False BrokerIsNotReady com.github.pullrequest com.github.pull_request github.com //github.com/schemas/pull_request default GitHub pull request True dev.knative.source.github.push-34cnb dev.knative.source.github.push github.com default True dev.knative.source.github.pullrequest-86jhv dev.knative.source.github.pull_request github.com default True

3.Trigger訂閱事件
最后基于事件注冊列表信息,事件消費者創(chuàng)建對應(yīng)的Trigger對Registry中的EventType進行監(jiān)聽消費
Trigger示例:

apiVersion: eventing.knative.dev/v1alpha1 kind: Trigger metadata:name: my-service-triggernamespace: default spec:filter:sourceAndType:type: dev.knative.source.github.pushsource: github.comsubscriber:ref:apiVersion: serving.knative.dev/v1alpha1kind: Servicename: my-service

其它

針對 Registry,一般可能涉及到有如下問題:

  • Registry 是對 Trigger 訂閱事件,是否包括 Event Source 事件源的處理?
    答:Registry 設(shè)計的初衷主要是針對事件消費者能夠發(fā)現(xiàn)事件并進行消費,因此它的出現(xiàn)主要是讓用戶創(chuàng)建Trigger進行事件訂閱
  • 如果僅僅創(chuàng)建 Event Source 通過Sink設(shè)置 KnService 進行事件消費(沒有Trigger), 是否也可以使用Registry?
    答:Registry 的設(shè)計主要是針對 Broker/Trigger 事件處理模型, 并且我們可以發(fā)現(xiàn) EventType 中的Broker字段是必需設(shè)置的。如果沒有發(fā)送事件到Broker, 就不會創(chuàng)建EventType注冊到Registry。在實現(xiàn)方面,我們可以檢查Event Source的Sink類型是否是Broker,如果是,則對其注冊EventType。
  • 是否可以通過CloudEvents?subject?字段過濾資源
    答:EventType CRD資源不會包含subject字段, 因為我們認為subject是更高級別的過濾設(shè)置。不過社區(qū)后續(xù)會通過高級過濾規(guī)則?進行實現(xiàn)。例如:
  • apiVersion: eventing.knative.dev/v1alpha1 kind: Trigger metadata:name: only-knative spec:filter:cel:expression: ce.subject.match("/knative/*")subscriber:ref:apiVersion: serving.knative.dev/v1alpha1kind: Servicename: knative-events-processor


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

    總結(jié)

    以上是生活随笔為你收集整理的Knative Eventing 中如何实现 Registry 事件注册机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 夜夜夜夜夜操 | 久久免费少妇高潮久久精品99 | 屁股夹体温计调教play | 国产精品免费91 | 色欧美亚洲 | 亚洲九九色 | 精品国产不卡 | 国产第3页 | 扒下小娇妻的内裤打屁股 | 日本极品喷水 | 四虎影院在线视频 | 国产一区二区三区久久久 | 免费看日韩av| 国产一区二区欧美日韩 | 成人久久在线 | 天天宗合网| 国产精品视频久久久 | 国产swag在线 | 国产又粗又猛又爽又黄91精品 | 91国内视频 | 色汉综合 | 一起草av在线 | 亚洲欧美激情视频 | 特级丰满少妇一级aaaa爱毛片 | 无码人妻丰满熟妇啪啪欧美 | 日韩精品在线看 | 国产精品xxx在线观看www | 亚洲精品社区 | 97超碰人人模人人人爽人人爱 | 久草视频精品在线 | 日韩欧美理论 | 黄色三级在线播放 | 韩日精品视频 | 日韩精品视频免费在线观看 | 哪里可以免费看毛片 | 亚洲少妇网站 | 污视频网站入口 | 美女在线不卡 | 在线免费观看av片 | 欧美黄色一级视频 | 国产 日韩 欧美 综合 | 男生插女生视频在线观看 | 免费日韩毛片 | 色噜噜综合网 | 国产精品久久久一区 | 国产视频观看 | 欧美性猛交xxxx乱大交退制版 | 一区二区欧美在线 | 国产在线视频二区 | 亚洲熟妇丰满大屁股熟妇 | 国产精品久久久久9999爆乳 | 国产专区av| 亚洲av永久无码精品三区在线 | 日本精品入口免费视频 | 午夜日韩在线 | 催眠调教艳妇成肉便小说 | 不卡av电影在线 | 婷婷在线影院 | 日皮在线观看 | 亚洲精品在线视频 | 涩涩的视频在线观看 | 一级黄色毛毛片 | 国产亚洲精品久久久久四川人 | 国产三级视频在线播放 | 欧州一区二区三区 | 催眠调教艳妇成肉便小说 | 亚洲av熟女国产一区二区性色 | 日韩视频在线观看一区二区 | 欧美a视频在线观看 | 国产91在线看 | 九九天堂 | 国产高清二区 | 男女av网站 | 久久婷婷一区 | 欧美污污视频 | 青青视频免费看 | 亚洲日本影院 | 污视频网站免费观看 | 国产性―交一乱―色―情人 | 欧美日韩性生活视频 | 国产精品一区在线观看 | caoporn国产| av日韩一区二区三区 | 国产九九热 | 国产精品一区二区三区免费在线观看 | 五月天av网| 日本一区二区三区精品视频 | 国产无人区码熟妇毛片多 | 午夜免费福利网站 | 五月依人网 | av高清一区二区 | 欧美日韩成人 | 毛片毛片毛片毛片毛片毛片毛片 | 午夜视频在线观看网站 | 欧美操穴视频 | 成人黄色片免费看 | 青青草午夜 | 中文高清av | 日韩性高潮 |