Apache Pulsar是一款由雅虎开发的类似于Kafka的企业级消息订阅系统,在2016将其开源,由Apach基金会孵化,现在已经成长为Apache基金会的顶级项目.Pulsar在雅虎内部已经运行了三年,服务于众多的应用,主要有雅虎邮箱.雅虎财务系统.雅虎运动.Flickr.Gemini广告平台以及雅虎分布式键值对存储系统Sherpa等. Pulsar相关概念. 为Pulsar提供数据的应用叫做生产者,而从Pulsar消费数据的应用被称为消费者,有时也称为订阅者.主题Topic是Pulsar…
Pulsar快速上手 前言 如果你还不了解Pulsar消息系统,可以先看上一篇文章 企业级分布式消息系统-Pulsar入门基础 Pulsar客户端支持多个语言,包括Java,Go,Pytho和C++,本篇文章只讲述Java客户端. Pulsar Java客户端既可用于创建消息的producers.consumers和readers ,也可用于执行管理任务.Java 客户端的当前版本为 2.4.0. 1. 安装 最新版本的Pulsar Java 客户端库可通过 Maven中央仓库 使用. 要使用最…
1.大纲 了解 Apache Kafka是什么 掌握Apache Kafka的基本架构 搭建Kafka集群 掌握操作集群的两种方式 了解Apache Kafka高级部分的内容 2.消息系统的作用是什么? 消息系统最核心的功能有三个,分别是解耦.异步.并行. 下面我们通过用户注册的案例来说明消息系统的作用: 2.1.用户注册的一般流程 问题:随着后端流程越来越多,每步流程都需要额外的耗费很多时间,从而会导致用户更长的等待延迟. 2.2.改进成并行流程 问题:系统并行的发起了4 个请求,4 个请求中…
Pulsar简介 Apache Pulsar是一个企业级的分布式消息系统,最初由Yahoo开发并在2016年开源,目前正在Apache基金会下孵化.Plusar已经在Yahoo的生产环境使用了三年多,主要服务于Mail.Finance.Sports. Flickr. the Gemini Ads platform. Sherpa以及Yahoo的KV存储. Pulsar之所以能够称为下一代消息队列,主要是因为以下特性: 线性扩展.能够丝滑的扩容到成百上千个节点(Kafka扩容需要占用很多系统资源在…
作者:个推平台研发工程师 祥子 一.业务背景在个推的推送场景中,消息队列在整个系统中占有非常重要的位置.当 APP 有推送需求的时候, 会向个推发送一条推送命令,接到推送需求后,我们会把APP要求推送消息的用户放入下发队列中,进行消息下发:当同时有多个APP进行消息下发时,难免会出现资源竞争的情况, 因此就产生了优先级队列的需求,在下发资源固定的情况下, 高优先级的用户需要有更多的下发资源.二.基于 Kafka 的优先级队列方案针对以上场景,个推基于 Kafka 设计了第一版的优先级队列方案.K…
引言 提起成熟的消息队列或消息引擎,毋庸置疑,大多数人的第一反应一定是 Kafka. Kafka 能够彻底满足海量数据场景下高吞吐.高并发需求,在短短几年内,已经被阿里.腾讯.百度.字节跳动.Netflix.Twitter 等超一线大厂视为技术核心--可以说,Kafka 是目前大数据 Spark 实时流处理的标配. Kafka 的优势 Kafka 具有高吞吐量.低延迟.容错.持久性.可伸缩性,尤其是广为人知的高吞吐量,Kafka 每秒大约可以生产约 25 万消息(50 MB),每秒处理 55 万…
Apache Pulsar What is Pulsar "Pulsar is a distributed pub-sub messaging platform with a very flexible messaging model and an intuitive client API." Pulsar是pub-sub模式的分布式消息平台,拥有灵活的消息模型和直观的客户端API. Pulsar由雅虎开发并开源的下一代消息系统,目前是Apache软件基金会的孵化器项目. 概念 Top…
0x01 简介 Apache Pulsar是一个开源的分布式发布-订阅消息系统,与Kafka类似,但比后者更加强大.Pulsar最初由Yahoo开发并维护,目前已经成为Apache软件组织的一个孵化子项目,当前最新版本号为2.1.0-incubating.官网地址:http://pulsar.apache.org/. 0x02 Apache Pulsar单机版环境搭建 1.前提条件 Pulsar目前仅仅支持MacOS和Linux系统,不支持Windows系统.并且要求系统中安装了Java 8环境…
在 Apache Pulsar 2.6.0 版本发布后的 2 个月,2020 年 8 月 21 日,Apache Pulsar 2.6.1 版本正式发布! Apache Pulsar 2.6.1 修复了 2.6.0 版本中的诸多问题,改进了一些功能,新增了对 OAuth2 的支持,覆盖 Broker.Pulsar SQL.Pulsar Functions.Go Function.Java Client 和 C++ Client,进一步丰富了 Pulsar 作为云原生流数据平台的功能. 在 Pul…
关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户.持久化存储.多机房跨区域数据复制,具有强一致性.高吞吐.低延时及高可扩展性等流数据存储特性. 导语 各位小伙伴们,Pulsar 社区周报来啦! 本周 Pulsar 社区周报,为大家呈现 Pulsar client.broker 等内容,帮助社区小伙伴们掌握 Pulsar 项目及社区每周进展…
背景 在人工智能技术的支持下,BIGO 基于视频的产品和服务受到广泛欢迎,在 150 多个国家/地区拥有用户,其中包括 Bigo Live(直播)和 Likee(短视频).Bigo Live 在 150 多个国家/地区兴起,Likee 有 1 亿多用户,并在 Z 世代中很受欢迎. 随着业务的迅速增长,BIGO 消息队列平台承载的数据规模出现了成倍增长,下游的在线模型训练.在线推荐.实时数据分析.实时数仓等业务对消息的实时性和稳定性提出了更高的要求. BIGO 消息队列平台使用的是开源 Kafka…
在正式分享 2.6.1 版本更新细节之前,冉小龙首先为我们分享了两个相关 PIP 的内容. 一个是 PIP-47 中关于「基于时间来进行版本更新」的计划.该 PIP 提出后,从 2.5.0 版本到目前即将发布的 2.6.1 版本中,时间更短.发布频率更高成为最突出的特点.同时反馈周期快,基本是每三个月更新一个大版本.这样用户也可以大概了解版本的一个更新周期,增进了项目透明度. 另一个是 PIP-69 中计划在 Go Client 中集成 schema 相关的功能和特性,更多详情介绍可以参考下方:…
关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户.持久化存储.多机房跨区域数据复制,具有强一致性.高吞吐以及低延时的高可扩展流数据存储特性. 本篇文章,我们将带着刚刚圆满结束的 Pulsar Summit 精华版内容,为大家分享 Apache Pulsar 的成长历史. 关于 Pulsar Summit 会议 本次 Pulsar Summ…
腾讯 Angel PowerFL 联邦学习平台 联邦学习作为新一代人工智能基础技术,通过解决数据隐私与数据孤岛问题,重塑金融.医疗.城市安防等领域. 腾讯 Angel PowerFL 联邦学习平台构建在 Angel 机器学习平台上,利用 Angel-­PS 支持万亿级模型训练的能力,将很多在 Worker 上的计算提升到 PS(参数服务器) 端:Angel PowerFL 为联邦学习算法提供了计算.加密.存储.状态同步等基本操作接口,通过流程调度模块协调参与方任务执行状态,而通信模块完成了任务训…
与 Kafka 相比,Pulsar 的架构使它在跨地域复制.扩展.多租户和队列等方面具有重要的优势.   1 月 27 日,DataStax 宣布收购Kesque(Pulsar 即服务),加入到了 Pulsar 社区,并开源了 Kesque 团队在Luna Streaming中构建的管理和监控工具.   多年来,DataStax 一直专注于消息传递.一个非常重要的原因是基于微服务的架构日益普及.简单来说,微服务架构使用消息总线来解耦服务之间的通信,并简化重放.错误处理和负载峰值.   有了 Ca…
关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户.持久化存储.多机房跨区域数据复制,具有强一致性.高吞吐.低延时及高可扩展性等流数据存储特性. GitHub 地址:http://github.com/apache/pulsar/ 背景 Apache Pulsar 系列文章为读者们详细解释了 Pulsar 的消息保留和过期策略,本文是系列第…
1. 动机 Lakehouse最早由Databricks公司提出,其可作为低成本.直接访问云存储并提供传统DBMS管系统性能和ACID事务.版本.审计.索引.缓存.查询优化的数据管理系统,Lakehouse结合数据湖和数据仓库的优点:包括数据湖的低成本存储和开放数据格式访问,数据仓库强大的管理和优化能力.Delta Lake,Apache Hudi和Apache Iceberg是三种构建Lakehouse的技术. 与此同时,Pulsar提供了一系列特性:包括分层存储.流式卸载.列式卸载等,让其成…
Apache Pulsar Summit 是 Apache Pulsar 社区年度盛会,它将分布在世界各地的 Apache Pulsar 项目 Contributor.Commiter 和各企业 CTO/CIO.开发者.架构师.数据科学家,以及消息和流计算社区的精英召集在一起.于此盛会,大家分享实践经验.交流想法.探讨关于 Pulsar 项目和社区的知识,切磋互动.本次 Summit 咱们 Apache DolphinScheduler(Incubator) 也正式成为 Apache Pulsa…
关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户.持久化存储.多机房跨区域数据复制,具有强一致性.高吞吐.低延时及高可扩展性等流数据存储特性. 导语 各位小伙伴们,Pulsar 社区周报来啦!每周 Pulsar 社区周报,为大家呈现 Pulsar 客户端.broker.安全.Pulsar IO.社区活动等内容,帮助社区小伙伴们掌握 Pul…
一,为什么要更新caffeine缓存? 1,caffeine缓存的优点和缺点 生产环境中,caffeine缓存是我们在应用中使用的本地缓存, 它的优势在于存在于应用内,访问速度最快,通常都不到1ms就能做出响应, 缺点在于不方便管理,因为存在于多台负载均衡的web服务器上, 很难象管理redis缓存一样对它做出更新.删除. 2,通常我们会把caffeine缓存的时间设置为5分钟或10分钟, 但当有大型促销活动开始时,如果缓存还没过期, 则web服务显示的数据不会立刻得到更新, 我们如何更新多台w…
关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户.持久化存储.多机房跨区域数据复制,具有强一致性.高吞吐.低延时及高可扩展性等流数据存储特性. GitHub 地址:http://github.com/apache/pulsar/ 案例导读:本案例介绍了清华大学能源互联网创新研究院将 Apache Pulsar 落地能源互联网方向的实践.P…
愿历尽千帆,归来仍是少年 1.所需依赖 <!-- Redis依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--常用工具类 --> <dependency> <groupI…
原文链接:Pulsar の 保证消息的顺序性.幂等性和可靠性 一.背景 前面两篇文章,已经介绍了关于Pulsar消费者的详细使用和自研的Pulsar组件. 接下来,将简单分析如何保证消息的顺序性.幂等性和可靠性:但并不会每个分析都会进行代码实战,进行代码实战的都是比较有意思的点,如消费消息如何保证顺序性和幂等性,而其他的其实都是比较简单的,就不做代码实战了. 二.特性分析 2.1.顺序性 保证消息是按顺序发送,按顺序消费,一个接着一个. 2.1.1.活动图 2.1.2.分析 producer:…
导语 Apache Pulsar 是一个多租户.高性能的服务间消息传输解决方案,支持多租户.低延时.读写分离.跨地域复制.快速扩容.灵活容错等特性.腾讯云内部 Pulsar工作组对 Pulsar 做了深入调研以及大量的性能和稳定性方面优化,目前已经在腾讯内部业务TDBank落地上线.本文是Pulsar技术系列中的一篇,主要介绍Pulsar 的 Message Deduplication 特性,供大家参考,避免在使用过程中踩坑. Message Deduplication背景介绍 消息中间件产品设…
在工业生产设计中,我们往往需要实现一个基于消息订阅的模式,用来对非定时的的消息进行监听订阅. 这种设计模式在 总线设计模式中得到体现.微软以前的WCF中实现了服务总线 ServiceBus的设计模式.然并卵.WCF已经好像是上个世纪的产物................ 基于事件订阅的模式,比如 EventBus类的组件产品.但是往往设计比较复杂. 如果依赖于 Redis做事件消息推送.那就大大简化了这种设计模式,而且性能也比较客观. Redis在 2.0之后的版本中 实现了 事件推送的  pu…
1.订阅者的声明方式 我们以spring组件化的方式,声明一个消息订阅者,对于消息订阅者关心的主要有: topic: 一级消息类型(又名消息主题).如TRADE 消息类型:二级消息类型,区别同一Topic主题下的不同类型的消息; 如:TRADE(交易主题)下有 2300-trade-created-done(交易创建) group信息:又称组名,根据groupId来识别客户端机器, 配置为同一groupId视为同一集群的机器 .因此, 各个业务之间,发送方和订阅方之间的GroupId不能重复 示…
目录 SignalR系列目录(注意,是ASP.NET的目录.不是Core的) 前言 一晃一个月又过去了,上个月有个比较大的项目要验收上线.所以忙的脚不沾地.现在终于可以忙里偷闲,写一篇关于SignalR Core的文章了. 先介绍一下SignalR吧,如下: ASP.NET SignalR是ASP.NET开发人员的一个库,它简化了向Web应用程序添加即时通讯功能的过程. 它可以让服务器在可用时立即向连接的客户端推送内容,而不是让服务器等待客户端请求新数据. 当然,在新的ASP.NET Core中…
小结: 1. https://mp.weixin.qq.com/s/v6NM3UgX-qTI7yO1QPCJrw 滴滴出行基于RocketMQ构建企业级消息队列服务的实践 原创: 江海挺 阿里巴巴中间件 2018-11-01  …
laravel5.4感觉官网文档说滴不够详细...安装predis官网很详细,这里略过.... 生成命令 直接使用 Artisan 命令 make:command,该命令会在 app/Console/Commands 目录下创建一个新的命令类.如果该目录不存在,不用担心,它将会在你首次运行 Artisan 命令 make:command 时被创建.生成的命令将会包含默认的属性设置以及所有命令都共有的方法, 这里我生成一个RedisSubscribe.php类,执行下面命令: php artisa…
开源分布式消息框架 Cap 可以在GitHub上拉也可以通过nuget添加 上一篇博文写了 Windows RabbitMQ的安装使用 Cap支持事务,通过捕获数据库上下文连接对象实现 消息事务,消息持久化 怎么来实现消息订阅 消费? 使用起来非常简单,主要通过这个类来实现 发布:ICapPublisher . 订阅:CapSubscribe DNC的注入就不做介绍了,引用好相关的Cap类,并注入如下,如果需要事务请注入数据库访问上下文对象 public ValuesController(App…