问题标签 [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.
clojure - clojure 中类似代理/演员的构造,可对自上次更新以来收到的所有消息进行操作
clojure 中实现以下操作的最佳方法是什么?
- 获取发送的消息/数据
- 对该数据执行某些功能以获得新状态;就像是
(fn [state new-msgs] ...)
- 在该更新期间继续接收消息/数据
- 完成该更新后,对在此期间发送的所有消息运行相同的更新功能
代理似乎不太合适。必须同时send
向代理程序运行和数据,这不会为对上次更新期间传入的所有数据进行操作的函数留出空间。该目标隐含地要求将功能和数据解耦。
Actor 模型似乎更适合于函数和数据的解耦。但是,我所知道的所有参与者框架似乎都假设发送的每条消息都将单独处理。目前尚不清楚如何在不增加额外机器的情况下将其转变为头脑。我知道Pulsar 的演员接受一个:lifecycle-handle
可以用来让演员做“特殊技巧”的功能,但是没有很多关于这个的文档,所以不清楚这个功能是否有用。
我确实有使用代理、core.async
通道和watch
函数来解决这个问题,但它有点乱,我希望有更好的解决方案。如果其他人发现它有帮助,我会将其作为解决方案发布,但我想看看其他人提出了什么。
java - Quasar/Pulsar lein midje 在 linux 上构建错误
我正在尝试安装 Pulsar。我有 lein 版本
我设置了 JAVA_HOME
当我在 git cloned 目录上执行 lein midje 时,我得到了一堆错误。不知道我做错了什么?我怀疑这与首先正确安装java Quasar有关,但我不确定。
所以我下载了Quasar的git repo。首先使用 apt-get 安装系统 gradle,然后在 quasar 目录中运行 gradle。这给了我一个不同的错误:
maven - 用于 Ubuntu ARM64 的 Maven
我有一个 Jetson Tx2,它是 Ubuntu Linux ARM64。我似乎找不到为此的“二进制”发行版。我唯一的选择是获取 Maven 3.3.9 的源代码,构建它,然后使用 3.3.9 版本构建 Maven 3.5?
我的最终目标是在同一个平台上安装 apache pulsar。
谢谢,迈克
clojure - Clojure 相当于“演员”
我最近一直在研究 Elixir 和 Akka,这让我思考:Clojure 中的等价物是什么?
- 我发现了一些关于代理与演员的“消息吞吐量比较”帖子,但它们来自 8 年前
- 一个答案曾经是
agents
......但这并不完全相同(代理似乎没有自己的逻辑,它们是由外部代码“作用”的) - 另一个最近的答案是
Pulsar
纤维(更接近,但......仍然保持不变吗?)
(我知道我可能“在这里问错了问题”,希望这不是太开放)
apache-pulsar - 如何在 Pulsar 中进行广播
我正在为我们的集群研究一项技术。Pulsar 看起来不错,但使用起来更像是一个排队系统。排队系统当然好,但我有一个特殊的要求:广播。
我们想使用一台机器生成数据并将其发布到 Pulsar 主题。然后我们使用一组服务器,形成一个副本。每个服务器都使用该主题的消息流,并通过 WebSocket 为客户端提供服务。
这与共享订阅不同,因为每个服务器都需要接收所有消息,而不是其中的一部分。
我来到这个帖子:https ://kafkaesque.io/subscriptions-multiple-groups-of-consumers-on-pulsar-topic/ ,它解释了如何做这样的工作:每个服务器都需要创建一个新的独家订阅,比如说使用 UUID 作为订阅名称,从唯一的专属订阅中可以获取该主题的完整消息流。
但是由于我们的服务器副本可以是动态的,所以一旦一些服务器重启,他们会再次创建新的 UUID 订阅,这会留下很多关于该主题的孤儿订阅,最终成为维护的难题。
有人有使用 Pulsar 设置广播用例的经验吗?
apache-pulsar - Apache Pulsar 模式使用 json 字符串验证
就我而言,我有一些原始 JSON 字符串数据发送到主题并且无法对 POJO 类进行硬编码,我想使用 pulsar 模式功能来验证结构。我有一个主题“我的主题”并与下面的 JSON 模式相关联,然后我尝试传输一些消息。
我的问题是脉冲星模式是如何工作的?该消息应被拒绝。
apache-pulsar - 在 Windows Docker 中安装 Apache Pulsar
您能帮我如何使用 Windows docker 安装本地独立 pulsar 集群吗?我遵循了以下选项。但我无法访问 pulsar UI
8080 端口已经分配给其他进程。所以这里我使用的是 8081 端口。
选项1:
docker run -it -p 6650:6650 -p 8081:8081 --mount source=pulsardata,target=/pulsar/data --mount source=pulsarconf,target=/pulsar/conf apachepulsar/pulsar:2.5.2 bin/pulsar独立的
选项 2: docker run -it -p 6650:6650 -p 8081:8081 -v "$PWD/data:/pulsar/data".ToLower() apachepulsar/pulsar:2.5.2 bin/pulsar 独立
使用上述两个选项,我无法看到 INFO - [main:WebService] - Web Service 开始于http://127.0.0.1:8081.Also我无法访问系统中的以下 url .
脉冲星://本地主机:6650
谢谢
logging - 如何在独立模式下为 Apache Pulsar 配置日志记录到文件?
我想将 Apache Pulsar 配置为在独立模式下将输出记录到文件中。
我在systemd
服务中以独立模式运行 Pulsar,使用如下 exec 命令:
现在 Pulsar 日志配置记录在这里,并指定您可以使用配置属性,例如pulsar.root.logger
通过 Log4J 配置日志记录。
但是不清楚的是您在哪里定义这些与日志相关的属性?它们放在哪个配置文件中?
还是应该log4j2.yaml
直接修改?这不在文档中。例如更改pulsar.routing.appender.default
为RollingFile
似乎没有效果。
描述在独立模式下启用日志记录到文件的完整步骤将非常有帮助。
diskspace - 容器中的 Apache Pulsar 磁盘使用情况
我在 Docker 容器中以standalone
模式运行 Apache pulsar。
我正在将日志文件行发布到 pulsar 主题中。总日志大小约为 60G。
pulsar 容器不断耗尽磁盘上的磁盘空间,/
不得不终止。
这是默认配置。docker-compose 文件如下所示
有没有办法限制脉冲星磁盘的使用,使其不会耗尽所有空间?
java - 添加 Pulsar appender 时收到 log4j2 的“No appender found”错误
我正在开发一个使用 Ignite 版本的 log4j2 的复杂应用程序。它工作得很好,但是当我尝试添加一个 Pulsar appender时,它会抛出一个错误:
我真的不知道为什么它找不到 log4j2.xml 文件,因为没有 Pulsar appender 它工作正常,所以它必须在类路径上。我猜它一定是与 ignite-log4j2 依赖和 pulsar-log4j2-appender 依赖冲突。
这就是我的pom.xml的样子:
我的log4j2.xml: