【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

Knative 实战:基于 Kafka 实现消息推送

  • 2019-11-11
  • 本文字数:1582 字

    阅读完需:约 5 分钟

Knative 实战:基于 Kafka 实现消息推送

背景

消息队列 for Apache Kafka 是阿里云提供的分布式、高吞吐、可扩展的消息队列服务。消息队列 for Apache Kafka 广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线分析等大数据领域,已成为大数据生态中不可或缺的部分。


结合 Knative 中提供了 KafkaSource 事件源的支持, 可以方便的对接 Kafka 消息服务。


另外也可以安装社区 Kafka 2.0.0 及以上版本使用。

在阿里云上创建 Kafka 实例

创建 Kafka 实例

登录消息队列 Kafka 控制台, 选择【购买实例】。由于当前 Knative 中 Kafka 事件源支持 2.0.0 及以上版本,在阿里云上创建 Kafka 实例需要选择包年包月、专业版本进行购买,购买之后升级到 2.0.0 即可。


部署实例并绑定 VPC

购买完成之后,进行部署,部署时设置 Knative 集群所在的 VPC 即可:


创建 Topic 和 Consumer Group

接下来我们创建 Topic 和消费组。


进入【Topic 管理】,点击 创建 Topic, 这里我们创建名称为 demo 的 topic:



进入【Consumer Group 管理】,点击 创建 Consumer Group, 这里我们创建名称为 demo-consumer 的消费组:


部署 Kafka 数据源

部署 Kafka addon 组件

登录容器服务控制台,进入【Knative 组件管理】,部署 Kafka addon 组件。


创建 KafkaSource 实例

首先创建用于接收事件的服务 event-display:


apiVersion: serving.knative.dev/v1kind: Servicemetadata:  name: event-displayspec:  template:    spec:      containers:      - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/eventing-sources-cmd-event_display:bf45b3eb1e7fc4cb63d6a5a6416cf696295484a7662e0cf9ccdf5c080542c21d
复制代码


接下来创建 KafkaSource:


apiVersion: sources.eventing.knative.dev/v1alpha1kind: KafkaSourcemetadata:  name: alikafka-sourcespec:  consumerGroup: demo-consumer  # Broker URL. Replace this with the URLs for your kafka cluster,  # which is in the format of my-cluster-kafka-bootstrap.my-kafka-namespace:9092.  bootstrapServers: 192.168.0.6x:9092,192.168.0.7x:9092,192.168.0.8x:9092  topics: demo  sink:    apiVersion: serving.knative.dev/v1alpha1    kind: Service    name: event-display
复制代码


说明:


  • bootstrapServers: Kafka VPC 访问地址

  • consumerGroup: 设置消费组

  • topics:设置 Topic


创建完成之后,我们可以查看对应的实例已经运行:


[root@iZ2zeae8wzyq0ypgjowzq2Z ~]# kubectl get podsNAME                                    READY   STATUS    RESTARTS   AGEalikafka-source-k22vz-db44cc7f8-879pj   1/1     Running   0          8h
复制代码

验证

在 Kafka 控制台,选择 topic 发送消息,注意这里的消息格式必须是 json 格式:



我们可以看到已经接收到了发送过来的 Kafka 消息:


[root@iZ2zeae8wzyq0ypgjowzq2Z ~]# kubectl logs event-display-zl6m5-deployment-6bf9596b4f-8psx4 user-container
☁️ CloudEvent: valid ✅Context Attributes, SpecVersion: 0.2 Type: dev.knative.kafka.event Source: /apis/v1/namespaces/default/kafkasources/alikafka-source#demo ID: partition:7/offset:1 Time: 2019-10-18T08:50:32.492Z ContentType: application/json Extensions: key: demoTransport Context, URI: / Host: event-display.default.svc.cluster.local Method: POSTData, { "key": "test" }
复制代码

小结

结合阿里云 Kafka 产品,通过事件驱动触发服务(函数)执行,是不是简单又高效?


这样我们利用 Knative 得以把云原生的能力充分释放出来,带给我们更多的想象空间。欢迎对 Knative 感兴趣的一起交流。


实操视频演示


00:00 / 00:00
    1.0x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    作者介绍


    元毅,阿里云容器平台高级开发工程师,负责阿里云容器平台 Knative 相关工作。


    本文转载自公众号阿里巴巴云原生(ID:Alicloudnative)


    原文链接


    https://mp.weixin.qq.com/s/YRpxBNcKlWXdRuMrYaAzig


    2019-11-11 08:002400

    评论

    发布
    暂无评论
    发现更多内容

    即时通讯技术文集(第21期):后端架构设计基础入门系列 [共15篇]

    JackJiang

    网络编程 即时通讯 即时通讯IM

    ARBT阿尔比特代币合约质押挖矿系统开发

    l8l259l3365

    22H2 中国边缘公有云服务市场 Top2,百度智能云构建让智算无处不在的分布式云

    Baidu AICLOUD

    边缘计算 分布式云 大模型

    不可不知的七个Docker优秀实践

    树上有只程序猿

    Docker 容器 镜像

    CodeArts Check代码检查服务用户声音反馈集锦(4)

    华为云PaaS服务小智

    云计算 华为云 代码检查

    保持预测一致性,推动企业实现未来价值

    智达方通

    数据孤岛 全面预算管理系统 预测分析

    单元测试的重要性:编写更安全、更可靠的代码

    高端章鱼哥

    测试 单元测试

    DHorse v1.4.0 发布,基于 k8s 的发布平台

    tiandizhiguai

    DevOps k8s kubernetes 运维

    支持国密浏览器的堡垒机叫什么?联系电话多少?

    行云管家

    网络安全 堡垒机 国密 国密浏览器 国密算法

    中文3D摄影棚布光软件 Set A Light 3D Studio 最新激活

    mac大玩家j

    Mac软件 灯光模拟软件

    智能客服的新方向

    百度开发者中心

    智能客服 #人工智能 千帆大模型平台

    实时数仓混沌演练实践

    得物技术

    实时数仓 混沌演练 业务混沌 数仓稳定性

    好物周刊#1:提示工程师养成指南

    村雨遥

    软件 网站 项目 插件 资料

    数据库顶会 VLDB 2023 论文解读 - Krypton: 字节跳动实时服务分析 SQL 引擎设计

    字节跳动云原生计算

    sql 大数据 云原生

    Live Home 3D Pro for mac(3D家居设计软件) 4.8中文激活版

    mac

    windows 3D家居设计软件 苹果mac Live Home 3D Pro

    利用Linux虚拟化技术实现资源隔离和管理

    这我可不懂

    Linux 计算资源

    行云管家云管平台四大价值看这里!

    行云管家

    企业上云 云管平台 云资源 云管理

    CodeArts Check代码检查服务用户声音反馈集锦(5)

    华为云PaaS服务小智

    云计算 软件开发 华为云 代码检查

    简单好用的防火墙 Radio Silence for mac激活最新

    胖墩儿不胖y

    Mac 软件 防火墙软件 阻止网络连接软件

    不断进化的e签宝,电子签普惠的新答案

    ToB行业头条

    灵魂三问之稳定性摸排

    阿里技术

    方法论 稳定性 底盘

    数据探索神器:火山引擎DataLeap Notebook 揭秘

    字节跳动数据平台

    数据库 数据中台 数据治理 数据安全 企业号9月PK榜

    火山引擎A/B测试在消费行业的案例实践

    字节跳动数据平台

    数据库 ab测试 对比实验 数字化增长 企业号9月PK榜

    引领智能对话革命的创新网络工程技术

    百度开发者中心

    智能对话 #人工智能 ChatGPT

    利用ChatGPT实现快速网站模板构建

    百度开发者中心

    #人工智能 ChatGPT 千帆大模型平台

    美国站群服务器和香港站群服务器,哪一个更适合你的在线业务?

    一只扑棱蛾子

    站群服务器

    AI 编码助手 Codewhisperer 安装步骤和使用初体验

    亚马逊云科技 (Amazon Web Services)

    Java Python 人工智能 机器学习

    大模型时代,如何快速开发AI应用

    华为云开发者联盟

    人工智能 华为云 华为云开发者联盟 企业号9月PK榜

    英特尔首席执行官帕特·基辛格会前畅谈2023年on技术创新大会

    E科讯

    Knative 实战:基于 Kafka 实现消息推送_语言 & 开发_阿里云容器平台_InfoQ精选文章