OpenShift 4 - Knative教程 (6) Eventing之Channel和Subscription
《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.10环境中验证
文章目录
- 概念
- 操作
- 参考
概念
Knative Eventing中的Channel和Subscription类似JMS消息体系中的Topic/Subscribe机制。Event Source是消息的发布者(类似JMS的Publisher),Channle是传送消息的通道(类似JMS的Topic),而Subscription通过订阅Channel获取到相关的Event,并且使用Knative Serving的服务处理消息。
操作
- 执行命令,创建名为eventinghello-ch的Channel类型的对象,然后查看Knative的channel 对象,其中eventinghello-ch状态为READY=true。
$ kn channel create eventinghello-ch -n knative-tutorial
$ kn channel list -n knative-tutorial
NAME TYPE URL AGE READY REASON
eventinghello-ch InMemoryChannel http://eventinghello-ch-kn-channel.knative-tutorial.svc.cluster.local 24s True
- 查看生成的所有OpenShift对象。
$ oc get all -n knative-tutorial
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/eventinghello-ch-kn-channel ExternalName <none> imc-dispatcher.knative-eventing.svc.cluster.local <none> 6m37sNAME URL AGE READY REASON
channel.messaging.knative.dev/eventinghello-ch http://eventinghello-ch-kn-channel.knative-tutorial.svc.cluster.local 6m37s TrueNAME URL AGE READY REASON
inmemorychannel.messaging.knative.dev/eventinghello-ch http://eventinghello-ch-kn-channel.knative-tutorial.svc.cluster.local 6m37s True
- 执行命令生成PingSource对象,然后查看PingSource对象的状态为READY=true。
$ kn source ping create event-greeter-ping-source --schedule "*/2 * * * *" --sink channel:eventinghello-ch -n knative-tutorial
$ kn source ping list -n knative-tutorial
NAME SCHEDULE SINK AGE CONDITIONS READY REASON
event-greeter-ping-source */2 * * * * Channel:eventinghello-ch 9m56s 3 OK / 3 True
- 执行命令创建名为eventinghelloa和eventinghellob的Service。
$ kn service create eventinghelloa --concurrency-target=1 --revision-name=eventinghelloa-v1 --image=quay.io/rhdevelopers/eventinghello:0.0.2 -n knative-tutorial
$ kn service create eventinghellob --concurrency-target=1 --revision-name=eventinghellob-v1 --image=quay.io/rhdevelopers/eventinghello:0.0.2 -n knative-tutorial
- 查看和eventinghelloa和eventinghellob相关的Knative Serivce对象,它们的状态为READY=true。
$ kn service list
NAME URL LATEST AGE CONDITIONS READY REASON
eventinghelloa http://eventinghelloa-knative-tutorial.apps.cluster-pek-e4bf.pek-e4bf.sandbox1216.opentlc.com eventinghelloa-v1 99s 3 OK / 3 True
eventinghellob http://eventinghellob-knative-tutorial.apps.cluster-pek-e4bf.pek-e4bf.sandbox1216.opentlc.com eventinghellob-v1 110s 3 OK / 3 True
- 执行命令,分别创建名为eventinghelloa-sub和eventinghellob-sub的Subscription。这两个Subscription都是从名为eventinghello-ch的Channel获取消息,只不过一个用名为eventinghelloa的Service处理,另一个用名为eventinghellob的Service处理。
$ kn subscription create eventinghelloa-sub --channel eventinghello-ch --sink eventinghelloa -n knative-tutorial
$ kn subscription create eventinghellob-sub --channel eventinghello-ch --sink eventinghellob -n knative-tutorial$ kn subscription list -n knative-tutorial
NAME CHANNEL SUBSCRIBER REPLY DEAD LETTER SINK READY REASON
eventinghelloa-sub Channel:eventinghello-ch ksvc:eventinghelloa True
eventinghellob-sub Channel:eventinghello-ch ksvc:eventinghellob True
- 在控制台查看运行情况。可以看到eventinghelloa和eventinghellob的实例数会在0和2之间变化。
- 执行命令,清理环境。
$ kn service delete eventinghelloa -n knative-tutorial
$ kn service delete eventinghellob -n knative-tutorial
$ kn subscription delete eventinghelloa-sub -n knative-tutorial
$ kn subscription delete eventinghellob-sub -n knative-tutorial
$ kn source ping delete event-greeter-ping-source -n knative-tutorial
$ kn channel delete eventinghello-ch -n knative-tutorial
参考
- https://redhat-developer-demos.github.io/knative-tutorial/knative-tutorial/eventing/channel-and-subscribers.html
OpenShift 4 - Knative教程 (6) Eventing之Channel和Subscription相关推荐
- OpenShift 4 - Knative教程 (7) Eventing之Broker和Trigger
<OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.10环境中验证 文章目录 概念 操作说明 部署Broker 部署Service作为Sink 部署Ev ...
- OpenShift 4 - Knative教程 (5) Eventing之Source和Sink
<OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.10环境中验证 文章目录 创建 Knative Eventing 环境 配置Source和Sink ...
- OpenShift 4 - Knative教程 (1) 创建Serverless运行环境
<OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.10环境中验证 文章目录 说明 客户端环境 配置Knative环境 安装OpenShift Serv ...
- OpenShift 4 - Knative教程 (4) 自动扩展和收缩
<OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.10环境中验证 文章目录 自动扩展和收缩功能说明 配置自动扩展收缩 配置扩展收缩上下限 自动扩展和收 ...
- OpenShift 4 - Knative教程 (3) 了解Knative Serving的核心对象
<OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.10环境中验证 文章目录 Knative Serving的核心对象 创建Knative Servin ...
- OpenShift 4 - Knative教程(2) 基于Revision/Tag/Traffic实现蓝绿部署和恢复发布
<OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.10环境中验证 文章目录 基于Revision/Tag/Traffic实现蓝绿部署和恢复发布 基于R ...
- 【图解 Knative】剖析 Eventing Broker-Trigger 实现原理
1. 背景介绍 我们都知道,Knative 有两个主要的子项目:Serving 和 Eventing.其中 关于 Serviing 可以查看之前的一篇公众号文章 [超详细]深入探究 Knative 扩 ...
- Knative Eventing 中 Channel 如何注入默认 Provisioner
场景 通常的在创建Broker时,我们需要通过 spec.ChannelTemplate 指定使用某个具体的 Channel Provisioner.例如这样的Broker: apiVersion: ...
- OpenShift 4 - 使用教程和免费试用环境
<OpenShift 4.x HOL教程汇总> 红帽在 "https://developers.redhat.com/learn" 为开发人员提供了大量的产品使用教程以 ...
最新文章
- 【OpenCV3】彩色映射——cv::applyColorMap()与cv::LUT()详解
- SAP项目MM调研清单
- http、https、密码学基础、GET和POST区别
- Paillier半同态加密:原理、高效实现方法和应用
- 2.2 基本算法之递归和自调用函数 1751 分解因数 python
- 35岁的程序员如果不转行,从事哪些细分行业比较好?
- 【Kettle】如何输出固定格式报表
- Linux中的jobs、fg与bg命令
- 解决keil中 点击setting 程序中断问题
- python: 从pdf中提取图片
- Oracle表中新增字段
- mongodb 使用场景
- linux考试不及格反思100字,考试没考好的反思总结(精选10篇)
- 【WordPress】添加备案信息
- 佳能6d2无线链接计算机操作,玩转EOS 6D无线WiFi功能三步骤
- 记一次百度知识图谱面试经历(cold)
- c语言勾股数编程,C++勾股数公式讲解
- 掌门人共话根技术 | 麒麟信安高级副总裁陈松政参加2022长沙·中国1024程序员节“岳麓对话”
- java rmi tcp_Tomcat启动失败报错[RMI TCP Connection(4)-127.0.0.1] [RMI TCP Connection(3)-127.0.0.1]...
- 转:量子密钥分发和BB84协议
热门文章
- mysql别人的框架_MySQL逻辑架构
- pinfinder开源下载_BayesianNetworktool
- 数据结构最佳路径代码_【微服务】149:商品数据结构
- 数据可视化demo_火出圈的大屏你真的会做吗?这才是老板最爱的可视化大屏
- 普通地图的六大要素_地理知识点总结之地图基本要素
- kafka 丢弃数据_Kafka快速入门
- img src 文件流_Java中的IO流之输出流|乐字节
- UI设计素材帮手, 排版技巧设计师
- 设计师网站导航的好处
- 计算机制图的平行投影,工程制图与计算机辅助设计课件-20210406204806.ppt-原创力文档...