赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 弹性容器实例 ECI
  4. 操作指南
  5. Knative
  6. Knative最佳实践
  7. 通过Knative事件驱动实现消息发送

通过Knative事件驱动实现消息发送

  • Knative最佳实践
  • 发布于 2025-04-15
  • 1 次阅读
文档编辑
文档编辑

Knative是一款基于Kubernetes的开源Serverless应用编排框架,其目标是制定云原生、跨平台的Serverless应用编排标准。ACK Serverless Knative基于容器服务 Serverless 版之上,在完全兼容社区Knative的同时,支持事件驱动、自动弹性。本文通过一个示例介绍如何通过Knative部署消息处理和Homepage,并最终实现弹幕消息发送。

前提条件

  • 创建ACK Serverless集群

  • 部署Knative

  • 部署Knative Eventing

步骤一:部署消息处理服务和HomePage

消息处理用于接收弹幕请求,并根据请求数进行自动扩缩容。HomePage用于发送和接收弹幕消息。部署消息处理服务和HomePage操作步骤如下。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

  2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择应用 > Knative。

  3. 在Knative页面,单击服务管理页签,然后单击使用模板创建。

    默认创建一个名为danmu-message的服务。示例代码中的image需根据集群所在地域进行替换。本文以华北2(北京)地域为例进行创建,请根据不同地域替换代码中的image。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: danmu-message
      namespace: default
    spec:
      template:
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: "10"
            autoscaling.knative.dev/minScale: "1"
        spec:
          containerConcurrency: 2
          containers:
            - args:
                - /message
                - --url=http://danmu-portal.default.svc.cluster.local/api/result
              env:
                - name: POD_NAME
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.name
              image: registry-vpc.cn-beijing.aliyuncs.com/acs/knative-danmu-message:v1.0
              name: user-container
              ports:
                - containerPort: 8080
                  name: http1
  4. 重复执行上一步。清空模板内容,将下方HomePage的YAML示例粘贴至新的空白模板,然后单击创建。

    默认会创建一个名为danmu-portal的服务。示例代码中的image需根据集群所在地域进行替换。本文以华北2(北京)地域为例进行创建,请根据不同地域替换代码中的image。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: danmu-portal
      namespace: default
    spec:
      template:
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: "1"
            autoscaling.knative.dev/minScale: "1"
        spec:
          containers:
            - image: registry-vpc.cn-beijing.aliyuncs.com/acs/knative-danmu-portal:v1.0
              name: user-container
              args:
              - /danmu
              - --url=http://danmu-message.default.svc.cluster.local/web/api/process
              ports:
                - containerPort: 8080
                  name: http1
  5. 在服务管理页签,当danmu-message和danmu-portal的状态变为成功时,表明消息处理服务和HomePage部署成功。

    记录此处访问网关的IP地址,在下一步操作中使用。

步骤二:绑定访问网关地址和域名

消息处理服务和HomePage部署完成后,需要将上一步记录的访问网关地址绑定到待访问的用于发送和接收弹幕消息的HomePage的域名danmu-portal.default.example.com。

找到计算机中Hosts文件所在位置,然后在Hosts文件中添加绑定信息,具体格式为访问网关+空格+域名,例如,47.96.XX.XX danmu-portal.default.example.com,然后通过域名直接对服务进行访问。

步骤三:部署服务

完成以上操作后,在浏览器输入域名http://danmu-portal.default.example.com直接访问弹幕服务。在访问页面设置如下弹幕的参数,然后单击发送消息,查看弹幕信息。

配置项

说明

示例

消息

具体发送的消息。

welcome

并发

弹幕消息的并发数。

20

持续

弹幕消息的持续时间,单位为秒。

30

image

相关文章

在Knative中部署AI模型推理服务的最佳实践 2025-04-15 17:15

Knative和AI结合提供了快速部署、高弹性和低成本的技术优势,适用于需要频繁调整计算资源的AI应用场景,例如模型推理等。您可以通过Knative Pod部署AI模型推理任务,配置自动扩缩容、灵活分配GPU资源等功能,提高AI推理服务能力和GPU资源利用率。 加速模型部署 为了保证Knative

通过Knative事件驱动实现消息发送 2025-04-15 17:15

Knative是一款基于Kubernetes的开源Serverless应用编排框架,其目标是制定云原生、跨平台的Serverless应用编排标准。ACK Serverless Knative基于容器服务 Serverless 版之上,在完全兼容社区Knative的同时,支持事件驱动、自动弹性。本文通

查看Knative服务监控大盘 2025-04-15 17:15

ACK集群已经兼容阿里云Prometheus和Grafana,无需您自建监控系统和可视化大盘。在Knative中部署业务应用后,您可以将Knative服务的监控数据接入Prometheus,通过Grafana大盘实时查看Kantive的响应延迟、请求并发数、CPU和内存资源用量等数据。

基于Knative部署生产级别的Stable Diffusion服务 2025-04-15 17:15

使用Knative在ACK集群中部署Stable Diffusion时,Knative支持根据单个Pod处理请求的吞吐率精准地控制单个Pod请求并发处理数,保证服务稳定性,还能在业务没有流量时自动将实例缩容至零,节省GPU资源的使用成本。 前提条件 已

基于KServe快速部署一个推理服务 2025-04-15 17:15

KServe是一个基于Kubernetes的机器学习模型服务框架,支持以Kubernetes CRD的形式将单个或多个经过训练的模型(例如TFServing、TorchServe、Triton等推理服务器)部署到模型服务运行时,使得模型的部署、更新和扩展变得更加简单快捷。本文介绍如何在Knative

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号