Fluency 项目使用教程

Fluency 项目使用教程

fluency High throughput data ingestion logger to Fluentd, AWS S3 and Treasure Data 项目地址: https://gitcode.com/gh_mirrors/fl/fluency

1. 项目介绍

Fluency 是一个高性能的数据摄取日志记录器,专门设计用于将数据发送到 Fluentd、AWS S3 和 Treasure Data。它提供了比 fluent-logger-java 更快的性能,支持异步刷新、TCP/UDP 心跳、故障转移、ACK 响应模式、TLS/SSL 加密等功能。Fluency 还支持将缓冲数据备份到本地磁盘,确保数据在发送失败时不会丢失。

2. 项目快速启动

安装依赖

Gradle
dependencies {
    compile "org.komamitsu:fluency-core:$[fluency_version]"
    compile "org.komamitsu:fluency-fluentd:$[fluency_version]"
}
Maven
<dependency>
    <groupId>org.komamitsu</groupId>
    <artifactId>fluency-core</artifactId>
    <version>$[fluency_version]</version>
</dependency>
<dependency>
    <groupId>org.komamitsu</groupId>
    <artifactId>fluency-fluentd</artifactId>
    <version>$[fluency_version]</version>
</dependency>

创建 Fluency 实例

单个 Fluentd 实例
Fluency fluency = new FluencyBuilderForFluentd().build();
多个 Fluentd 实例(故障转移)
Fluency fluency = new FluencyBuilderForFluentd().build(
    Arrays.asList(
        new InetSocketAddress("localhost", 24224),
        new InetSocketAddress("localhost", 24225)
    )
);

发送事件

String tag = "foo_db.bar_tbl";
Map<String, Object> event = new HashMap<>();
event.put("name", "komamitsu");
event.put("age", 42);
event.put("rate", 3.14);

fluency.emit(tag, event);

3. 应用案例和最佳实践

高吞吐量数据摄取

在高吞吐量场景下,可以通过调整缓冲区大小和刷新策略来优化性能:

FluencyBuilderForFluentd builder = new FluencyBuilderForFluentd();
builder.setBufferChunkInitialSize(16 * 1024 * 1024);
builder.setBufferChunkRetentionSize(64 * 1024 * 1024);
builder.setMaxBufferSize(1024 * 1024 * 1024L);

Fluency fluency = builder.build("xxx.xxx.xxx.xxx", 24224);

启用 ACK 响应模式

在需要确保数据可靠性的场景中,可以启用 ACK 响应模式:

FluencyBuilderForFluentd builder = new FluencyBuilderForFluentd();
builder.setAckResponseMode(true);

Fluency fluency = builder.build();

启用文件备份模式

在需要确保数据不丢失的场景中,可以启用文件备份模式:

FluencyBuilderForFluentd builder = new FluencyBuilderForFluentd();
builder.setFileBackupDir(System.getProperty("java.io.tmpdir"));

Fluency fluency = builder.build();

4. 典型生态项目

Fluentd

Fluency 主要用于与 Fluentd 集成,Fluentd 是一个开源的数据收集器,用于统一日志层。Fluency 通过高性能的数据摄取功能,帮助 Fluentd 更高效地处理日志数据。

AWS S3

Fluency 支持将数据发送到 AWS S3,适用于需要将日志数据存储在云端的场景。

Treasure Data

Treasure Data 是一个云端数据管理平台,Fluency 可以将数据直接发送到 Treasure Data,方便进行数据分析和处理。

通过以上模块的介绍,您可以快速上手 Fluency 项目,并了解其在不同场景下的应用和最佳实践。

fluency High throughput data ingestion logger to Fluentd, AWS S3 and Treasure Data 项目地址: https://gitcode.com/gh_mirrors/fl/fluency

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邴联微

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值