当前位置: 首页 > news >正文

使用 Apache Pulsar 构建弹性可扩展的事件驱动应用

03b4c1ed6ad22c58fcffd1cfda9923b6.gif

本视频来自 2024 Apache Pulsar 欧洲峰会,由 David Kjerrumgaard, 《Pulsar in Action》书作者给大家带来的《使用 Apache Pulsar 构建弹性可扩展的事件驱动应用》分享。 

嘉宾|David Kjerrumgaard,Apache Pulsar Committer,《Pulsar in Action》书作者

编辑|futeng

快速预览

大家好,我是 David Kermgaard,Stream Native 的开发者布道师。欢迎来到我的演讲,今天我们将探讨如何使用 Apache Pulsar 构建可扩展和弹性的事件驱动应用。

事件驱动架构的定义

首先,我们来定义一下什么是事件驱动架构(EDA)。这种架构设计用于实现事件生产者之间的异步通信。事件生产者可以是真实世界中的任何事物,比如用户登录网页、卡车在路线上的移动,或者是库存管理系统中的扫描事件。这些事件被触发后,会异步发布到消息代理,然后感兴趣的事件消费者可以自动、异步地消费这些事件,并相应地做出反应。

Apache Pulsar 的优势

Apache Pulsar 是一个理想的事件驱动架构中的消息代理。它具有水平可扩展性、速度快,并支持事件驱动架构所需的消息语义,如队列、工作队列、主题和订阅。Pulsar 还提供了 Pulsar Functions,这是一个无服务器、轻量级的计算框架,允许你针对事件运行代码片段。

Pulsar Functions 的编程模型

Pulsar Functions 提供了一个反应式的编程模型。函数可以订阅一个或多个主题,每当收到消息时,Pulsar Function 运行时就会执行你提交的代码,并可选地将结果输出到另一个主题。这种模型非常适合事件驱动的架构风格,简单易用。

Function Mesh 的作用

Function Mesh 允许你将多个 Pulsar Functions 编排在一起,形成单一的复杂流处理作业。它利用 Kubernetes 的调度能力自动管理和扩展 Pulsar Functions 和连接器。

弹性与可扩展性的实现

为了实现真正的弹性和可扩展性,我们不仅需要 Pulsar 和 Pulsar Functions,还需要 Kubernetes 操作器和 Function Mesh 来自动处理所有特性。这样,你可以专注于编程逻辑,而不必担心系统的弹性和可扩展性。

Kubernetes 的自动扩展

Kubernetes 提供了两种自动扩展的方式:水平扩展(增加副本数量)和垂直扩展(增加内存或 CPU)。通过配置 Kubernetes 的自动扩展器(如 HPA 或 VPA),你的应用程序可以根据资源使用情况自动调整。

演示:自动扩展在行动

在演讲的最后部分,我进行了一个实时演示,展示了如何配置和使用 Pulsar Functions 的自动扩展功能。通过模拟高 CPU 使用率的场景,我们观察到 Kubernetes 环境自动启动了新的 Pod,以应对计算需求的增加。

感谢大家的参与,希望你们能从这次演讲中获得有价值的信息。如果你们对源代码感兴趣,可以访问我的 GitHub 仓库进行尝试。再次感谢,祝大家会议愉快!

关注 【AscentStream谙流科技】视频号,第一时间获取更新。

相关文章:

使用 Apache Pulsar 构建弹性可扩展的事件驱动应用

本视频来自 2024 Apache Pulsar 欧洲峰会,由 David Kjerrumgaard, 《Pulsar in Action》书作者给大家带来的《使用 Apache Pulsar 构建弹性可扩展的事件驱动应用》分享。 嘉宾|David Kjerrumgaard,Apache Pulsar Committer,《Pul…...

【国产开源可视化引擎Meta2d.js】视频

视频 meta2d 支持Html音视频。 // 音频 const pen {name: video,x: 100,y: 100,width: 100,height: 10,audio: https://down.ear0.com:3321/preview?soundid37418&typemp3,autoPlay: true, }; meta2d.addPen(pen); meta2d.inactive();// 视频 const pen {name: video,x…...

零信任网络安全

随着数字化转型的发生,网络边界也在不断被重新定义,因此,组织必须使用新的安全方法重新定义其防御策略。 零信任是一种基于“永不信任,永远验证”原则的安全方法,它强调无论在公司内部或外部,任何用户、设…...

Python酷库之旅-第三方库Pandas(022)

目录 一、用法精讲 55、pandas.lreshape函数 55-1、语法 55-2、参数 55-3、功能 55-4、返回值 55-5、说明 55-6、用法 55-6-1、数据准备 55-6-2、代码示例 55-6-3、结果输出 56、pandas.wide_to_long函数 56-1、语法 56-2、参数 56-3、功能 56-4、返回值 56-5…...

数据建设实践之大数据平台(一)准备环境

大数据组件版本信息 zookeeper-3.5.7hadoop-3.3.5mysql-5.7.28apache-hive-3.1.3spark-3.3.1dataxapache-dolphinscheduler-3.1.9大数据技术架构 大数据组件部署规划 node101node102node103node104node105datax datax datax ZK ZK ZK RM RM NM...

VUE2用elementUI实现父组件中校验子组件中的表单

需求是VUE2框架用elementUI写复杂表单组件,比如,3个相同功能的表单共用一个提交按钮,把相同功能的表单写成一个子组件,另一个父组件包含子组件的重复调用和一个提交按钮,并且要求提交时校验必填项。 注意: …...

人工智能算法工程师(中级)课程9-PyTorch神经网络之全连接神经网络实战与代码详解

大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(中级)课程9-PyTorch神经网络之全连接神经网络实战与代码详解。本文将给大家展示全连接神经网络与代码详解,包括全连接模型的设计、数学原理介绍,并从手写数字识别到猫狗识…...

UDP网络通信(发送端+接收端)实例 —— Python

简介 在网络通信编程中,用的最多的就是UDP和TCP通信了,原理这里就不分析了,网上介绍也很多,这里简单列举一下各自的优缺点和使用场景 通信方式优点缺点适用场景UDP及时性好,快速视网络情况,存在丢包 与嵌入…...

从零开始实现大语言模型(五):缩放点积注意力机制

1. 前言 缩放点积注意力机制(scaled dot-product attention)是OpenAI的GPT系列大语言模型所使用的多头注意力机制(multi-head attention)的核心,其目标与前文所述简单自注意力机制完全相同,即输入向量序列 x 1 , x 2 , ⋯   , x n x_1, x_2, \cdots, x_n x...

PTA 7-15 希尔排序

本题目要求读入N个整数,采用希尔排序法进行排序,采用增量序列{5,3,1},输出完成增量5和增量3后的5子排序和3子排序结果。 输入格式: 输入不超过100的正整数N和N个整数(空格分隔)。 输出格式: …...

【密码学】分组密码的设计原则

分组密码设计的目标是在密钥控制下,从一个巨大的置换集合中高效地选取一个置换,用于加密给定的明文块。 一、混淆原则 混淆原则是密码学中一个至关重要的概念,由克劳德香农提出。混淆原则就是将密文、明文、密钥三者之间的统计关系和代数关系…...

深入解析【C++ list 容器】:高效数据管理的秘密武器

目录 1. list 的介绍及使用 1.1 list 的介绍 知识点: 小李的理解: 1.2 list 的使用 1.2.1 list 的构造 知识点: 小李的理解: 代码示例: 1.2.2 list 迭代器的使用 知识点: 小李的理解&#xff1…...

NFS服务器、autofs自动挂载综合实验

综合实验 现有主机 node01 和 node02,完成如下需求: 1、在 node01 主机上提供 DNS 和 WEB 服务 2、dns 服务提供本实验所有主机名解析 3、web服务提供 www.rhce.com 虚拟主机 4、该虚拟主机的documentroot目录在 /nfs/rhce 目录 5、该目录由 node02 主机…...

自动驾驶事故频发,安全痛点在哪里?

大数据产业创新服务媒体 ——聚焦数据 改变商业 近日,武汉城市留言板上出现了多条关于萝卜快跑的投诉,多名市民反映萝卜快跑出现无故停在马路中间、高架上占最左道低速行驶、转弯卡着不动等情况,导致早晚高峰时段出现拥堵。萝卜快跑是百度 A…...

SpringSecurity框架【认证】

目录 一. 快速入门 二. 认证 2.1 登陆校验流程 2.2 原理初探 2.3 解决问题 2.3.1 思路分析 2.3.2 准备工作 2.3.3 实现 2.3.3.1 数据库校验用户 2.3.3.2 密码加密存储 2.3.3.3 登录接口 2.3.3.4 认证过滤器 2.3.3.5 退出登录 Spring Security是Spring家族中的一个…...

python安全脚本开发简单思路

文章目录 为什么选择python作为安全脚本开发语言如何编写人生第一个安全脚本开发后续学习 为什么选择python作为安全脚本开发语言 易读性和易维护性:Python以其简洁的语法和清晰的代码结构著称,这使得它非常易于阅读和维护。在安全领域,代码…...

WPF学习(4) -- 数据模板

一、DataTemplate 在WPF(Windows Presentation Foundation)中,DataTemplate 用于定义数据的可视化呈现方式。它允许你自定义如何展示数据对象,从而实现更灵活和丰富的用户界面。DataTemplate 通常用于控件(如ListBox、…...

GuLi商城-商品服务-API-品牌管理-JSR303分组校验

注解:@Validated 实体类: package com.nanjing.gulimall.product.entity;import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.nanjing.common.valid.ListValue; import com.nanjing.common.valid.Updat…...

PyTorch DataLoader 学习

1. DataLoader的核心概念 DataLoader是PyTorch中一个重要的类,用于将数据集(dataset)和数据加载器(sampler)结合起来,以实现批量数据加载和处理。它可以高效地处理数据加载、多线程加载、批处理和数据增强…...

TCP传输控制协议二

TCP 是 TCP/IP 模型中的传输层一个最核心的协议,不仅如此,在整个 4 层模型中,它都是核心的协议,要不然模型怎么会叫做 TCP/IP 模型呢。 它向下使用网络层的 IP 协议,向上为 FTP、SMTP、POP3、SSH、Telnet、HTTP 等应用…...

ForgeAdmin实战:开源项目分布式幂等组件 v2.0 升级

我在开源项目重构了分布式幂等组件:支持三种策略、Token防重放、结果缓存 为什么要重构幂等组件? 在企业级开发中,幂等性是保障数据一致性必不可少的能力。之前我在 Forge Admin 开源项目中实现了一个基础版本的幂等组件,但随着使…...

2024更新-MacOS Sonoma安装AdoptOpenJDK8最新版(Homebrew指南)

1. 为什么要在MacOS Sonoma上安装AdoptOpenJDK8? 如果你是一名Java开发者,或者需要使用基于Java开发的工具(比如Android Studio、Jenkins等),那么在你的Mac电脑上安装Java开发环境是必不可少的。虽然现在Java已经更新…...

高效优化Windows 11:Win11Debloat彻底提升系统性能与隐私保护指南

高效优化Windows 11:Win11Debloat彻底提升系统性能与隐私保护指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declu…...

Windows 11系统优化工具:让你的电脑更高效、更私密

Windows 11系统优化工具:让你的电脑更高效、更私密 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and custo…...

CPUDoc性能优化工具:释放CPU潜能的智能管家

CPUDoc性能优化工具:释放CPU潜能的智能管家 【免费下载链接】CPUDoc 项目地址: https://gitcode.com/gh_mirrors/cp/CPUDoc 在数字时代,无论是游戏玩家追求极致帧率,还是专业创作者需要稳定的多任务处理能力,CPU性能都是决…...

ABAP事务控制深度指南:如何避免COMMIT WORK导致的BW数据丢失问题

ABAP事务控制深度指南:如何避免COMMIT WORK导致的BW数据丢失问题 在SAP BW项目实施过程中,数据完整性是每个ABAP开发者的核心关切。我曾亲眼目睹一个关键财务月结报表因为异步提交导致数据缺失,最终引发连锁反应——财务团队不得不通宵重新跑…...

2024最新版微信聊天记录提取工具部署指南:永久保存+数据分析全流程

2024最新版微信聊天记录提取工具部署指南:永久保存数据分析全流程 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trendi…...

企业SEO网站推广的优势和劣势有哪些

企业SEO网站推广的优势分析 在当今互联网时代,企业SEO网站推广已经成为一种必不可少的数字营销手段。无论是中小企业还是大型企业,都在竞争激烈的市场中寻找最佳的方式来提升品牌知名度和销售额。企业SEO网站推广究竟有哪些优势呢?以下将从几…...

黑客马拉松利器:OpenClaw+SecGPT-14B快速构建安全PoC

黑客马拉松利器:OpenClawSecGPT-14B快速构建安全PoC 1. 缘起:当安全专家遇上自动化助手 去年参加某次网络安全竞赛时,我遇到了一个典型痛点:在48小时的黑客马拉松中,团队需要快速验证多个漏洞猜想,但手动…...

弦音墨影惊艳演示:水墨粒子汇聚成目标Bounding Box的动态生成过程

弦音墨影惊艳演示:水墨粒子汇聚成目标Bounding Box的动态生成过程 1. 系统概述与核心特色 「弦音墨影」是一款将先进人工智能技术与东方美学完美融合的视频分析系统。不同于传统技术工具的冰冷界面,这个系统以水墨丹青为设计灵魂,通过Qwen2…...