问题标签 [apache-pulsar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-pulsar - 如何在 Pulsar 中进行广播
我正在为我们的集群研究一项技术。Pulsar 看起来不错,但使用起来更像是一个排队系统。排队系统当然好,但我有一个特殊的要求:广播。
我们想使用一台机器生成数据并将其发布到 Pulsar 主题。然后我们使用一组服务器,形成一个副本。每个服务器都使用该主题的消息流,并通过 WebSocket 为客户端提供服务。
这与共享订阅不同,因为每个服务器都需要接收所有消息,而不是其中的一部分。
我来到这个帖子:https ://kafkaesque.io/subscriptions-multiple-groups-of-consumers-on-pulsar-topic/ ,它解释了如何做这样的工作:每个服务器都需要创建一个新的独家订阅,比如说使用 UUID 作为订阅名称,从唯一的专属订阅中可以获取该主题的完整消息流。
但是由于我们的服务器副本可以是动态的,所以一旦一些服务器重启,他们会再次创建新的 UUID 订阅,这会留下很多关于该主题的孤儿订阅,最终成为维护的难题。
有人有使用 Pulsar 设置广播用例的经验吗?
apache-pulsar - Pulsar 消息确认适用于主题或订阅?
我是 Pulsar 的新手,在阅读了一些文档后,我对消息确认有点困惑。
假设我有一个主题和两个订阅:SubA 和 SubB。现在 SubA 和 SubB 使用了一条消息,但只有 SubA 确认了该消息。现在我的问题是,假设 2 天后,我们的保留政策开始生效,它想要删除所有超过 2 天的已确认消息,那么在这种情况下,该消息是否被视为已确认?(因为只有 SubA 承认,SubB 没有)
apache-pulsar - 如何将订阅光标倒回到 Pulsar 中的特定时间?
在文档:https ://pulsar.apache.org/docs/en/concepts-clients/中,它解释了您可以从最早或最新位置开始消费者,或者您可以指定消息ID。能否支持这个要求,即指定一个时间点并从那里开始,例如,现在我想迭代从昨天 12:00 到昨天 13:00 的消息?
docker - Kubernetes 集群上的 Apache pulsar(本地环境)
尝试在我的 kubernetes 集群中部署 pod 并且一些 pod 给了我一些存储问题的错误。屏幕截图如下:
我确定问题出在我的一个工作节点上。我认为这不是脉冲星的问题。我还将在此处共享 YAML 文件,以便清楚地了解问题所在。链接到 YAML 文件:https ://github.com/apache/pulsar/blob/master/deployment/kubernetes/generic/k8s-1-9-and-above/zookeeper.yaml
我需要 YAML 文件的帮助来稍微调整一下它,以便可以根据我在工作节点上的现有要求创建 pod。如果您需要更多信息,我会很高兴。
提前致谢
apache-pulsar - 积压配额和 TTL 有什么区别
从文档:https ://pulsar.apache.org/docs/en/cookbooks-retention-expiry/#get-the-ttl-configuration-for-a-namespace ,积压之间的区别有点令人困惑配额和 TTL。
据我目前了解,消息到达代理,代理将找出该主题的所有订阅,并检索他们的积压,并将消息放入这些积压。如果此消息被一个订阅确认,它将从其积压中删除(积压是每个订阅)。如果该消息不在任何积压中(意味着所有订阅都已确认),则该消息被视为已确认,然后将启动保留策略,以决定是否需要将其删除或保留一段时间。
如果一条消息在一段时间内未在一个 backlog 中得到确认,并且 backlog 配额达到大小限制,那么 backlog 保留策略就会启动。所以这更多的是关于大小而不是时间。如果我们使用consumer_backlog_eviction
,这条消息将从积压中被丢弃,但问题是,这是否被视为已确认?所以第一个保留政策开始了?
而 TTL,如果一条消息在一段时间内没有得到确认,它会从所有积压中删除吗?然后被视为已确认,然后让第一个保留策略处理它?
更新:
更准确地说这个问题:
在积压配额文件中,它说:
consumer_backlog_eviction
:代理将开始丢弃积压消息
丢弃意味着,让它被承认?这样全球保留政策就可以启动了吗?
producer_request_hold
:代理将持有而不是持久化生产请求有效负载
是不是说,它不会将新消息放入积压中,但是对于那些新来的消息,它们是否会自动确认(假设当时只有一个订阅)?这是否会阻止真正的生产者(我想不会,只是经纪人不会再将新消息放入积压中)
(对于 TTL)如果磁盘空间是一个问题,您可以设置一个生存时间 (TTL),以确定未确认消息将保留多长时间。
同样,如果超过了 TTL,它就不会“保留”它,意思是让它承认?还是直接扔掉?
apache-pulsar - Pulsar 会在删除主题时删除已卸载的段吗?
Pulsar 支持https://pulsar.apache.org/docs/en/cookbooks-tiered-storage/,分层存储,非常棒。我试验了这个功能,看到它把一些文件放到 AWS S3 上,看起来每个段有 2 个文件,都具有相同的 UUID:
5780710b-393a-49cb-aff7-282901d7e311-ledger-9
5780710b-393a-49cb-aff7-282901d7e311-ledger-9-index
我认为如果有很多主题,以后会很乱,而且我无法通过名称弄清楚哪个文件属于哪个主题。如果我删除主题 use pulsar-admin
,文件将保留在 AWS S3 上。
有没有办法管理这个?
apache-pulsar - Apache Pulsar 模式使用 json 字符串验证
就我而言,我有一些原始 JSON 字符串数据发送到主题并且无法对 POJO 类进行硬编码,我想使用 pulsar 模式功能来验证结构。我有一个主题“我的主题”并与下面的 JSON 模式相关联,然后我尝试传输一些消息。
我的问题是脉冲星模式是如何工作的?该消息应被拒绝。
apache-pulsar - Apache pulsar 以不可预知的方式超时
我独立安装了 Apache pulsar。Pulsar 有时会超时。它与高吞吐量无关,也与特定主题(以下日志)无关。Pulsar-admin 代理运行状况检查也返回 OK 或超时。如何对此进行调查?
apache-pulsar - Pulsar 客户端错误 - 无法加载身份验证插件
尝试在本地运行 pulsar-client consume 命令时,出现错误:
无法加载身份验证插件
这是我运行的命令:
./pulsar-client consume persistent://data-log/ingest/data-log-kafka -s damo
我有一个client.conf
配置,下面列出了来自 pulsar 的完整“堆栈跟踪”。我看不到我错过了什么
任何提示表示赞赏!谢谢
apache-pulsar - 如何查询 Apache-Pulsar?
Apache pulsar 通过分层存储卸载器提供了一个非常有趣的架构。
我想知道如何从另一个应用程序进行交互式查询?我的意思是直接查询键值系统/“数据库”,而不是使用 pulsar-sql,它在下面使用 Presto。
在推特上的@sijieg 中,发布了以下架构:
看起来我可以访问 State-store(甚至是 Segment-reader)并直接访问 Bookies 中的数据(可能还有分层存储,根据 Metastore?)我们如何访问这些 State-store/Segment-reader并像 Flink-Pulsar 或 Spark-Pulsar 一样访问数据。