当前位置: 首页 > 知识库问答 >
问题:

使用编年史队列作为基于文件的FIFO队列

赵立果
2023-03-14
  • 我有一个web服务器(比如tomcat),它为http请求服务
  • 每个请求处理都可能生成一些跟踪信息。
  • 我将把这些跟踪信息写入编年史队列(以字节[]为单位,我将自己进行编组/解编组,就像使用protobuf一样)
  • 我将有一个专用的线程来使用裁剪器从编年史队列中读取。每个消息将只处理一次,如果失败,我将使用自己的重试策略将其放回队列以允许下次尝试。

基于以上用例,我有以下问题:

>

  • 应该使用多少追加器?多个线程共享一个appender,还是每个线程都有自己的appender?

  • 共有1个答案

    夏侯昆琦
    2023-03-14

    应该使用多少追加器?多个线程共享一个appender,还是每个线程都有自己的appender?

    我建议您使用queue.acquireAppender(),它将根据需要创建追加器。

    queue.acquireappender()是一个繁重的操作吗?我应该缓存appender以避免调用acquireAppender()吗?

     类似资料:
    • 几天前我开始使用chronicle-queue,我正在浏览它的文档。

    • 我需要一个简单的FIFO实现的队列来存储一堆整数(我不介意它是泛型实现)。 在或Trove/Guava库中已经为我烘焙了什么?

    • 我们目前有一个接收大量传感器数据的应用程序。每个传感器都有其独特的传感器id('5834F7718273F92CC326F620')并以不同的间隔发出其状态。传入消息的处理顺序并不重要,例如,一个传感器的较新消息可以在另一个传感器的较旧消息之前处理。然而,重要的是,给定传感器的每个消息必须按顺序处理;按照他们到达溪流的顺序。 我查看了Kinesis客户端库,了解到KCL将消息按每个碎片推送到单个处

    • 编年史队列doco指定可以在不同的盒子上有编年史接收器,事件通过网络从单个编年史队列分发到它。(http://chronicle.software/products/chronicle-queue/)